本文共 848 字,大约阅读时间需要 2 分钟。
例题1:
#includeint main(){ int h; while(scanf("%d",&h)!=EOF){ int maxline=h+(h-1)*2;//最后一行包含的星号个数 for(int i=1;i<=h;i++){ for(int j=1;j<=maxline;j++){ if(j
例题2:
找规律。规律如下图所示:
#includeint main(){ int outputbuf[82][82];//用于预排版的输出缓存 char a,b; int n; bool firstcase=true; while(scanf("%d %c %c",&n,&a,&b)==3){ if(firstcase==true){ firstcase=false; } else printf("\n"); for(int i=1,j=1;i<=n;i+=2,j++){//从里到外输出每个圈 int x=n/2+1,y=x; x-=j-1;y-=j-1; char c=j%2==1 ?a:b; for(int k=1;k<=i;k++){ //对当前圈的上、下、左、右边赋值 outputbuf[x+k-1][y]=c; outputbuf[x][y+k-1]=c; outputbuf[x+i-1][y+k-1]=c; outputbuf[x+k-1][y+i-1]=c; } } if(n!=1){ outputbuf[1][1]=' '; outputbuf[n][1]=' '; outputbuf[1][n]=' '; outputbuf[n][n]=' '; } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ printf("%c",outputbuf[i][j]); } printf("\n"); }}}
转载地址:http://knssi.baihongyu.com/