c语言的一道例题

来源:百度知道 编辑:UC知道 时间:2024/05/12 03:40:56
编写程序输出以下图案
*
* * *
* * * * *
* * * * * * *
好象题打的时候有点问题
*
* * *
* * * * *
* * * * * * *

main()
{
int a,b,i;
b=1;
for(a=1;a<=4;a++,b+=2)
{
for(i=1;i<=b;i++)
{
printf(" *");
}
printf("\n\n");
}
}
算法为:1)定义3个变量一个行变量a,一个每行个数*的初始变量i,一个每行个数*总变量b,
2)初始化每行个数*总变量b为1(因为第1行是一个*)
3)用for循环 初始行数,条件为4行,每执行一行 行数+1,并每行*个数+2
4)嵌套for循环为执行输出的每行*的个数,每行输出初始个数,最多个数,条件执行*小于定义的总*个数(b),i++;
5)执行每行 输出2个换行符\n\n
6)结束程序
结果为
*

* * *

* * * * *

* * * * * * *

注意到输出的是1,3,5,7,都是输出奇数个*号,依据2*i-1(i>=1),即可解决问题

int i,j;
for(i=1;i<=4;i++)//行数
{
for(j=1;j<=2*i-1;j++)//每一行输入2*i-1个“*”号
{
printf("*");
}
printf("\n");//输出一行后换行
}

这个应该用for循环
#include<stdio.h>
viod main()
{
for(int i=1;i<5;i++)
{
for(int j=2*i-1;j<2*i;j++)
{
print