高手们,帮我设计一下这个程序 我想了一下午了,就是不知道如何入手。献上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;
}
