C语言输出菱形图形:
(1)输入一个菱形的边长a,以ctrl + Z结束
(2)按行输出 *
1.输出 a个空格;
2.输出 *;
3.输出菱形边之间的空格;
4.输出 *
5.一行结束,换行
(3)将空格数减2,循环上面的,直到边长等于a
(4)输出菱形的下面一部分;
/*
根据输入的数据输出菱形图形
*/
#include<stdio.h>
int main()
{
int a,b,c,d,t;
while(scanf("%d",&a)!=EOF)//输入菱形边*的个数以ctrl z 结束
{
d=0;
t=a;//将初始数数据给t
while(a--)//空格数逐层递减
{
for(b=0; b<a; b++)
{
printf(" ");
}
printf("*");
for(c=1; c<d; c++)//菱形内部空格数
{
printf(" ");
}
if(d!=0)printf("*");
printf("\n");//一行输出结束
d=d+2;
}//菱形的上半部分输出结束
a=t;
d=d-2;
a= a- 1;
d=0;
while(a--)//输出菱形的下半部分
{
for(c=1; c<(t-a); c++)
{
printf(" ");
}
printf("*");
for(c=0; c<a*2-1; c++)
{
printf(" ");
}
d=d+2;
if(a!=0)
printf("*");
printf("\n");
}
}
}
输出结果: