C语言题 给出步骤解释.利用循环结构输出以下图形

如题所述

#include <stdio.h>
void main()
{
int i, j, k;
for(i=0; i<5; i++)
{
for(j=4; j>i; j--)
printf(" ");
for(k=0; k<=2*i; k++)
printf("*");
printf("\n");
}
}

观察图形是5行,所以用i控制行,在观察每个星号前都是空字符,随着行的增加,空格减少,第二个for控制输出空字符,随着行的增加,星号也增加,用第三个for控制星号

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-05
#include<stdio.h>
int main()
{
    int i,j,k;
    for (i = 1; i < 6; ++i)//输出5行
    {
        for ( j = 0; j < 6-i; ++j)//第i行输出6-i个空格
        {
            printf(" ");
        }
        for ( k = 0; k < 2*i-1; ++k)//第i行输出2*i-1个*
        {
            printf("*");
        }
        printf("\n");//换行
    }
}

本回答被提问者采纳
第2个回答  2013-10-05
#include<stdio.h>
int main()
{
for(int i=0;i<5;i++)//控制行的输出
{
for(int k=0;k<4-i;k++)//输出空格
{
printf(" ");
}
for(int l=0;l<2*i+1;l++)//输出*
{
printf("*");
}
printf("\n");//没输出完一行,换行
}
return 0;
}
第3个回答  2013-10-05
你好!!
要是你是学生,还是你自己写出代码吧,用 printf打印 和 for 循环就能完成。
第4个回答  2013-10-05
#include"stdio.h"
#define N 10

int main()
{
int i=0,j=0,k=0;
for( i =0 ; i<N ; i++)
{
for( k = (2*(N-i)-1)/2;k >= 0; k--)
{
printf(" ");
}
for(j = 0;j < 2*i-1 ; j++)
{
printf("* ");
}
printf("\n");

}
return 0;
}