#include <stdio.h> #include <string.h> void main() { int n,i,o,last,count; char nums[210][210]; while (scanf("%d",&n)!=EOF) { memset(nums,' ',44100); if (n==1) { printf("1\n*\n"); continue; } last=2*n-1; for (i=0;i<n;i++) { if (i%2==0) { for (o=i;o<last-i;o++) nums[o][i]='*'; } else { nums[i-1][i]='*'; nums[last-i][i]='*'; } if (i%2!=0&&2*n>=3) { for (o=0;o<last;o++) nums[o][i+2]=nums[o][i+1]=nums[o][i]; } } count=2; for (i=n;i<last;i++) { for (o=0;o<last;o++) { nums[o][i]=nums[o][i-count]; if (i==last-1) nums[o][last]='\0'; } count+=2; } printf("%d\n",n); for (o=0;o<last;o++) puts(nums[o]); } }
解题思路:
注意事项:
参考代码:
0.0分
1 人评分
C语言训练-数字母 (C语言代码)浏览:606 |
【回文数(二)】 (C语言代码)浏览:800 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:628 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:797 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:467 |
WU-图形输出 (C++代码)浏览:834 |
WU-拆分位数 (C++代码)浏览:818 |
校门外的树 (C语言代码)浏览:732 |
简单的a+b (C语言代码)浏览:877 |
剪刀石头布 (C++代码)浏览:1808 |