输出菱形星号的简单c语言小程序???

如题所述

#include <stdio.h>
void main()
{
int times;
int t = 0;
int h,j;

printf("请输入上三角行数:");
scanf("%d",×);

for(h = 1; h < times; h ++)
{
for(j = 1; j < times -h +1; j ++)

printf(" ");

for(j = 1; j <= (2 * h -1) ; j ++)

printf("%c", '*');

printf("\n");
}

for(h = times ; h > 0; h --)
{

for(j = (times-h); j > 0 ; j --)

printf(" ");
for( j = 0 ; j < (2*h-1) ; j ++)

printf("%c",'*');

printf("\n");

}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-09-20
用for循环
第2个回答  2007-09-20
int main()
{
int LineCnt,i,j;
printf("请输入行数(奇数):");
scanf("%d",&LineCnt);
if(LineCnt%2==0)
{
printf("输入的行数不合法");
return 0;
}

for(i=0;i<LineCnt;i++)
{
if(i<(LineCnt+1)/2)
{
for(j=0;j<2*i+1;j++)
printf("*");
}
else
{
for(j=0;j<2*(LineCnt-i)-1;j++)
printf("*");
}

printf("\n");
}
return 0;
}
第3个回答  2007-09-20
直接用printf输入
第4个回答  2007-09-20
#include <stdio.h>
main()
{
int initnum=7; //要输出的行数(这里以7行为例)
for(int i=1;i<=initnum;i++)
{
if(i<=(initnum+1)/2) //前半部分
{
for(int m=1;m<=3*(i-1);m++)
{
printf(" ");
}
for(int k=1;k<=initnum-2*(i-1);k++)
{
printf("*");
}
else // 后半部分
{
for(int m=21-3*i;m>0;m--)
{
printf(" ");
}
for(int k=1;k<=2*i-initnum;k++)
{
printf("*");
}
}
printf("\n");
}
}
第5个回答  2007-09-20
我来一个,呵呵
#include <stdio.h>
void main()
{
int x,h;//x 为输入的行数 h使得一次循环就实现图形
while (1)
{
printf("请输入一个奇数\n");
scanf("%d",&x);
if (x%2==1) break;
}
for(int i=1;i<=x;i++) //总共的行数
{
if (i>x/2) h=x+1-i;
else h=i; //目的是使图形的下半部分和上半部分对称
for (int j=1;j<=x/2-h+1;j++)
printf(" "); //输出的空格
for (int k=1;k<=2*h-1;k++)
printf("*"); //输出*号
printf("\n");
}
}
相似回答