#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语言代码)浏览:661 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:689 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:637 |
K-进制数 (C++代码)浏览:858 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:512 |
Pascal三角 (C语言代码)格式错误浏览:521 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:638 |
输出正反三角形 (C语言代码)浏览:794 |
【蟠桃记】 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:549 |