標籤:style blog color io for ar div log amp
知識點:
for語句,if語句的靈活運用。
思考演算法。
此題可以用二維數組做
優勢是巧妙的銜接了*和$
內容:
輸出圖形
*****$
***$$$
*$$$$$
規律是...自己發現吧。
要求輸入3,輸出上面三行的圖形
輸入說明:
行數小於40
輸出說明:
輸入範例:
3
輸出範例 :
*****$
***$$$
*$$$$$
法一:
#include <stdio.h>int main(){ int n,a,b,y=1,x,i; scanf("%d",&n); x=n; //預控制行數,方便以後遞減 for (i=0;i<n;i++) //控制行數,一行換行 { for (a=0;a<2*x-1;a++) //for輸出* { printf("*"); } for(b=0;b<y;b++) //第一行有一個$ { printf("$"); } y+=2; //遞增一行,有y+2個$ x-=1; //函數遞減,控制*的數,對應上面的“for輸出*” printf("\n"); if(n==0)break; //當零行時,終止for迴圈,程式結束 } return 0;}
法二:
#include <stdio.h>int main(){ char a[100][1000]; int i,n,m,y; scanf("%d",&n); y=n; for (i=0;i<n;i++) { for (m=0;m<2*y-1;m++) { a[i][m]=‘*‘; printf("%c",a[i][m]); } for (;m<2*n;m++) //銜接上面m,直到2*n { a[i][m]=‘$‘; printf("%c",a[i][m]); } y-=1; if (y==0)break; printf("\n"); } printf("\n"); return 0;}
(c文法百題38)星羅密布