C语言一个课后题,输出要求的图案(用 * 组成的菱形)

#include <stdio.h>
void main()
{
int i;
for (i=1;i<8;i++)
{
switch (i)
{
case 1:printf(" *\n");continue;
case 2:printf(" ***\n");continue;
case 3:printf(" *****\n");continue;
case 4:printf("*******\n");continue;
case 5:printf(" *****\n");continue;
case 6:printf(" ***\n");continue;
case 7:printf(" *\n");continue;
}
}
} 代码我是这样写的,有没有办法让continue去旁边歇会阿... 不加continue的话,程序运行完图案输出的乱七八糟的。求帮助。

#include <stdio.h>
void Fun(char f,int add,int space)//在第add个位置输出*,占用space个其他位置输出空格
{
int i;
for(i=0;i<space;i++)
{
if(i==add)
printf("%c",f);
else
printf(" ");
}
}

void main()
{
int a[10],i;
Fun('*',10,11);
printf("\r\n");
for(i=0;i<10;i++)
{
Fun('*',9-i,11);
Fun('*',i,11);
printf("\r\n");
}
for(i=9;i>=0;i--)
{
Fun('*',9-i,11);
Fun('*',i,11);
printf("\r\n");
}
Fun('*',10,11);
printf("\r\n");
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-09
简单来说就是一旦switch函数中的一个case满足条件,其后的所有case都满足条件,这个函数其本质是和if一样的 一旦返回值为1,其后的所有条件都会被满足。
第2个回答  2017-07-23
#include <stdio.h>
void main()
{
printf(" *\n");
printf(" ***\n");
printf(" *****\n");
printf("*******\n");
printf(" *****\n");
printf(" ***\n");
printf(" *\n");
}

第3个回答  2014-03-09
用if语句吧
if(i==1) printf(" *\n");
if(i==2) printf(" ***\n");
......本回答被网友采纳
相似回答