#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 人评分
点我有惊喜!你懂得!浏览:4109 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:524 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:530 |
【密码】 (C语言代码)浏览:350 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:2097 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:573 |
本人酷爱递归实现很多问题,这里也是浏览:631 |
1128题解(返回值为数组的情况)浏览:571 |
输入输出格式练习 (C语言代码)浏览:773 |
青年歌手大奖赛_评委会打分 (C语言代码)浏览:2248 |