C語言中如何利用循環(huán)嵌套輸出一個菱形
利用循環(huán)嵌套輸出一個菱形

#include<stdio.h>
int main()
{
int i, j;
for (i = 1; i <= 4; i++)//上三角控制行
{
for (j = 1; j <= 4 - i; j++)//上三角控制每行空格
printf(" ");
for (j = 1; j <= 1 + 2 * (i - 1); j++)//上三角控制每行*
printf("*");
printf("\n");
}
for (i = 3; i >= 1; i--)//下三角控制行
{
for (j = 1; j <= 4 - i; j++)//下三角控制每行空格
printf(" ");
for (j = 1; j <= 1 + 2 * (i - 1); j++)//下三角控制每行*
printf("*");
printf("\n");
}
return 0;
}
C語言輸出半個菱形
1.在屏幕上輸出以下圖案:
*
***
*****
*******
*********
***********
*************
***********
*********
*******
*****
***
*
分析:
看到這個圖形我們就想到這是菱形的一半,但是又跟菱形的輸出方法不太一樣,在此無需考慮空格的問題,只需要每行按循環(huán)輸出*即可;
- 1~7行,*逐漸遞增;
- 8~13行,*逐漸遞減;
- 第7行是一個分界線
我們可以定義兩個變量,一個控制行數(shù),一個控制 * 的個數(shù)
核心代碼
#include <stdio.h>yunxingjieguo
int main()
{
?? ?int i, j;
?? ?for (i = 1; i <=7; i++)//上半部分
?? ?{
?? ??? ?for (j = 1; j <= (2 * i -1); j++)
?? ??? ?{
?? ??? ??? ?printf("*");
?? ??? ?}
?? ??? ?printf("\n");
?? ?}
?? ?for (i = 6; i >0; i--)//下半部分
?? ?{
?? ??? ?for (j = (i * 2 - 1); j >0; j--)
?? ??? ?{
?? ??? ??? ?printf("*");
?? ??? ?}
?? ??? ?printf("\n");
?? ?}
?? ?system("pause");
?? ?return 0;
}運行結(jié)果

總結(jié)
該程序主要是循環(huán)嵌套的使用,這個圖形的編程無需考慮空格的問題,直接輸出*就可;但是如果是一般的菱形,我們就要定義一個變量控制空格和*的輸出了
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C語言基本排序算法之插入排序與直接選擇排序?qū)崿F(xiàn)方法
這篇文章主要介紹了C語言基本排序算法之插入排序與直接選擇排序?qū)崿F(xiàn)方法,結(jié)合具體實例形式分析了插入排序與直接選擇排序的定義、使用方法及相關(guān)注意事項,需要的朋友可以參考下2017-09-09
基于linux下C開發(fā)中的幾點技術(shù)經(jīng)驗總結(jié)
本篇文章是對linux下C開發(fā)中的幾點技術(shù)經(jīng)驗總結(jié)進行了詳細的分析介紹,需要的朋友參考下2013-05-05
C++程序的執(zhí)行順序結(jié)構(gòu)以及關(guān)系和邏輯運算符講解
這篇文章主要介紹了C++程序的執(zhí)行順序結(jié)構(gòu)以及關(guān)系和邏輯運算符講解,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-09-09

