#include<stdio.h> void main() { int i,j,n; printf("Please input n:\n"); scanf("%d",&n); if(n<0) printf("行數錯誤!\n"); else { for(j=1;j<=n;j++) { for(i=1;i<=j;i++) { printf("*"); } printf("\n"); } } }
有兩個控制循環計數的變量i,j.spa
找到兩個控制循環變量的關係及 i,j,之間的關係。code
例:金字塔 *blog
***input
*****io
******* 一行增長了兩個*,而控制行數的變量j,與控制每行個數的變量i,class
關係爲 i= 2*j-1 。因此內層循環控制條件爲 for(i=1;i<=2*j-1;i++)變量
if(n<0) printf("Input error!"); else { for(j=1;j<=n;j++) { for(i=1;i<=2*j-1;i++) { printf("*"); } printf("\n"); } }
再例:倒三角 *******循環
*****im
***d3
* 控制行數 j,與個數 i,之間的關係 2*n+1-2*j (n爲輸入的金字塔行數)
字母金字塔:
#include<stdio.h> void main() { int i,j,n; char ch='A'; printf("please input n:\n"); scanf("%d",&n); if(n<0) printf("Input error!\n"); else { for(j=1;j<=n;j++) { for(i=1;i<=j;i++) { printf("%c",ch); } printf("\n"); ch++; } } }