#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语言变量位置的问题浏览:262 |
矩阵乘方 (C语言代码)浏览:959 |
整除问题 (C语言代码)浏览:484 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:452 |
简单的a+b (C语言代码)浏览:398 |
C语言训练-8除不尽的数 (C语言代码)浏览:1361 |
最好的,浏览:547 |
幸运数 (C++代码)浏览:2555 |
C二级辅导-温度转换 (C语言代码)浏览:528 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1159 |