#include <stdio.h>
int main()
{
int a=1,b=1,c=1;
while(a<5)
{
while(b<5-a)
{
b++;
printf(" ");
}
while(c<=2*a-1)
{
c++;
printf("*");
}
a++;
printf("\n");
}
return 0;
}
我输出的是
*
**
**
**
。。。
#include <stdio.h>
int main()
{
int a=1;
do
{
int b=1;
do
{
printf(" ");
b++;
}while(b<=5-a);
int c=1;
do
{
printf("*");
c++;
}while(c<=2*a-1);
printf("\n");
a++;
}while(a<5);
return 0;
}
这个是我用do-while的结构打出来的
有兴趣想深入了解的可以查看我的笔记,我一般是采用更多的方法去解决一道题目的
#include <stdio.h>
int main()
{
int a=1;
while(a<5)
{
int b=1;
while(b<5-a)
{
printf(" ");
b++;
}
int c=1;
while(c<=2*a-1)
{
printf("*");
c++;
}
printf("\n");
a++;
}
return 0;
}
这个是我自己用while语句打的,想深入学习的可以了解一下,这个是正确的,同学们可以尝试一下,虽然我也是新生
为什么会错呢?
因为如果int a,int b,int c放在刚才的那个位置的话,那么在第二次循环的时候b的值就不再等于1了,而是等于2了,c也是一样的,所以输入在里面是为了重新赋值
这是我本人的理解
#include <stdio.h>int main(){int i=1, j, k;while (i<5){j = i;while (j<5){printf(" ");j++;}k = 0;while (k<2*i-1){printf("*");k++;}i++;printf("\n");}return 0;}