编写程序:打印以下图形:

来源:百度知道 编辑:UC知道 时间:2024/05/15 08:19:37
编写程序:打印以下图形:
*
***
*****
*******
图形更正为: *
***
*****
*******

(要求用函数调用)

main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}再去掉三个FOR循环就可以了
第二种方法:
最少个数for实现:

[10:33:06@~/c-cpp]$ cat star.c
#include <stdio.h>
int main()
{
int n = 0, i, j;
printf("enter an positive odd number: ");
scanf("%d", &n);
int a[n]; /* compile with '-std=c99' */
for (i = 0; i <= n/2; i++)
a[i] = a[n-i-1] = i;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
printf("%c", a[i] + a[j] < n/2 ? ' ' : '*');
printf("\n");
}

return 0;