C语言编写程序输出一下图形(程序用循环实现)

*****
****
***
**
*

第1个回答  2013-03-21
解决这类问题的思考方法:用循环控制输出行数,分析每行输出的符号个数与循环变量取值的对应关系,在每行还有前导空格个数需要考虑,每行的内容再用一个循环控制,循环次数采用前面总结出的关系公式,最后别忘了每行要输出一个换行。如此,程序设计步骤如下:
-总共输出5行:for ( i=0;i<5;i++ ),变量i的取值为:0,1,2,3,4
-每行星号前面没有前导空格,不处理
-每行输出星号个数:5,4,3,2,1,这个用i来算就是:5-i,for ( j=0;j<5-i;j++ )
那么程序就是:
int i,j;
for ( i=0;i<5;i++ ) //每一次循环实现输出一行
{
for ( j=0;j<5-i,j++ ) //每执行一次循环输出一个星号,循环次数就是星号个数
printf("*");
printf("\n");
}
第2个回答  2013-03-20
#include "stdio.h"
void main(void){
int i;
for(i=5;i>0;i--)
printf("%*.*s\n",1,i,"******");
}
第3个回答  2013-03-20
#include<stdio.h>
main()
{
int i,k;

for (i=0;i<5;i++)

{
for (k=0;k<5-i;k++) printf("*");
printf("\n");

}

}
第4个回答  2013-03-20
#include <stdio.h>
int main(){
int i,j;
for(i=0;i<5;i++){
for(j=0;j<5-i;j++)
printf("*");
printf("\n");
}
}
第5个回答  2013-03-20
#include<stdio.h>
int main()
{
int i=5,j,k=5;
for(j=1;j<=i;j++)
{
for(k=6-j;k>=1;--k)
{
printf("*");
}
printf("\n");
}
return 0;
}本回答被提问者采纳
相似回答