C语言 菱形图案

*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
试过不少方法都不行,因为*之间有空格,而且输出时必须要用printf("* ");括号内的星号后带空格,求C达人

第1个回答  推荐于2016-07-09
#include <stdio.h>
#include <conio.h>

void main()
{ int i,j;
for(i=1;i<=4;i++)
{ for(j=1;j<=8-2*i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("* ");
printf("\n");
}
for(i=1;i<=3;i++)
{ for(j=1;j<=2*i;j++)
printf(" ");
for(j=1;j<=7-2*i;j++)
printf("* ");
printf("\n");
}
getch();
return;
}

有不懂的可以继续问我。本回答被提问者采纳
第2个回答  2009-11-14
//1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重
// for循环,第一层控制行,第二层控制列。
#include<stdio.h>
void main(){
int i,j,k;
for(i=0;i<4;i++)//for循环,第一层控制行
{
for(j=0;j<=2-i;j++)//第二层控制列。
printf(" ");
for(j=0;j<=2*i;j++)
printf("*");
printf("\n");
}//前四行一个规律,先输入空格,后输入*;有规律的;
for(i=2;i>=0;i--)//for循环,第一层控制行
{
for(j=0;j<=2-i;j++)//第二层控制列。输出空格;
printf(" ");
for(j=2*i;j>=0;j--)//输出*;
printf("*");
printf("\n");}
getch();//可省略的函数,感觉用途就是可以在显示的时可以不用看到press any key to continue
// 不过是个有用的函数以后学习逐个输出时有用
}
相似回答