高手们,帮我设计一下这个程序 我想了一下午了,就是不知道如何入手。献上50分
编写程序输出一下图案*
***
*****
*******
*****
***
*
[ 本帖最后由 考伊斯 于 2011-5-27 17:00 编辑 ]
#include <stdio.h> #include <math.h> int main() { int n = 0,i = 0,j = 0,m = 0; scanf("%d",&n); for(i = 0,m = 1;i<2*n-1;i++) { for(j=0;j<=2*n-1;j++) { if(i<n) { if(n-i-1<=j && n+i-1>=j) printf("*"); else if(n-i-1>j) printf(" "); } else { if(n-(i-2*m)-1<=j && n+(i-2*m)-1>=j) printf("*"); else if(n-(i-2*m)-1>j) printf(" "); } } if(i>=n) m++; printf("\n"); } return 0; }
#include <stdio.h> int main(void) { int n, i, j = 1, k = 1, rows, space; if(scanf("%d", &n) && n % 2 && n > 0) { rows = n; space = rows / 2; while(n-- > 0) { if(k) { for(i = 0; i < space; i++) { printf(" "); } for(i = 0; i < j; i++) { printf("*"); } j += 2; space--; k = j < rows ? 1 : 0; } else { for(i = 0; i < space; i++) { printf(" "); } for(i = 0; i < j; i++) { printf("*"); } j -= 2; space++; } printf("\n"); } } else { printf("Unsupported operation!\n"); return 1; } return 0; }