#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语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:552 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:508 |
C语言训练-素数问题 (C语言代码)浏览:990 |
输出正反三角形 (C语言代码)浏览:779 |
三角形 (C++代码)记忆化搜索浏览:1220 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:603 |
【蟠桃记】 (C语言代码)浏览:1021 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:468 |
1011题解浏览:760 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:398 |