C 語言——嵌套循環例子


 

一.使用嵌套循環產生下列圖案

$

$$

$$$

$$$$

$$$$$

首先確定行數為i=5,因此外套循環的終止條件是i到達6時退出循環;由列數為5並且每一列元素數逐漸遞增比變化可知,內層循環的判定條件j受外層循環的影響,由圖可知第一行一個元素,第二行兩個元素。。。所以j<=i;換行符位於外層循環里。

如下:

#include <stdio.h>
#define SIZE 5              //使用#define處理常量就能夠更改值達到更改圖案使其擴大或縮小的目的
int main(void) { int i,j; for(i=1;i<=SIZE;i++) { for(j=1;j<=i;j++) printf("$"); printf("\n"); } return 0; }

 

 

二.使用嵌套循環產生下列圖案

F

FE

FED

FEDC

FEDCB

FEDCBA

首先確定行數i為6,其次確定列數j為6並隨着行數的增加而增加,故j受i的影響,即j<=i;又每行的字符數目逐漸增加,但是其字符的大小呈遞減的形式,故使用‘F’-j的形式輸出,這個時候i和j都應該初始化為0的形式;

 

#include <stdio.h>
#define SIZE 6
#define ch 'F'                  //巧妙利用常數定義來定義圖案的大小和字母的多少,使得程序更具有變通性
int main(void) { int i,j; for(i=0;i<SIZE;i++) { for(j=0;j<=i;j++) printf("%c",ch-j); printf("\n"); } return 0; }

  如果您的系統不支持ASCII碼或其他以數字編碼的碼,您可以把一個字符數組初始化為字母表中的字母:

char ch[26]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";  //數組索引0-25分別對應每個字母
    int i,j; for(i=5;i>=0;i--) { for(j=5;j>=i;j--)                  //5對應F,每一行元素數變化說明受到i的影響,故i也需要從5遞減
            printf("%c",ch[j]); printf("\n"); }

 

 

三.程序要求用戶輸入一個大寫字母,使用嵌套循環產生下列金字塔圖案:

           

以上圖案是通過輸入大寫字母E產生的。

思路:使用一個外部循環來處理行,在每一行中使用三個內部循環,一個處理空格,一個以升序打印字母,一個以降序打印字母。

    int i,j,k; char ch; printf("Please input a character: "); scanf("%c",&ch); k=ch-'A'+1;                          //行數 
    for(i=0;i<k;i++) { for(j=0;j<k-i;j++) printf(" "); for(j=0;j<=i;j++)                //升序排列
            printf("%c",'A'+j); for(j=i-1;j>=0;j--)              //降序排列
            printf("%c",'A'+j); printf("\n"); }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM