Hello,everybody!今天我在学习了写如何打印三角形,来给大家分享啦~~~
1.题目:
输入一个数,打印一个三角形(一)
例如:输入3,打印结果如下:
*
**
***
2.分析:
(1)首先我们观察到这个三角形里面有3行,我们不妨用n来表示三角形的行数,又因为这个3 是输入的,这意味着我们要先定义n,并且还要再运行框里面进行输入,那就要使用scanf函数。
(2)其次我们观察三角形的第1行,发现有1个“ * ”;第2行有2个“ * ”;第3行有3个“*”,不妨用i来表示三角形的第几行,那么在第几行的“ * ”的个数和在第几行是一样的,所以i也可以用来表示第i行里面包含的“ * ”的个数。
(3)经过上面的分析,三角形从第一行开始进行打印,每一行从第1个“ * ”打到第i颗可以用for循环来实现。
(4)代码:
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
(5)运行结果:
(6)代码分析:
外层for 循环用来控制打第几行,内层循环用来控制每行打几个“*”,比较难一点的是内层循环里面的j <= i的理解(因为第几行就打几个“ * ”,然而行数是 由i来表示的,所以j<=i),大家可以好好理解理解。
(7)补充:
还有一个结论就是打印的图形里面有几种形状的图形内层循环就有几个,比如在这题里面三角形里面的图形就只有“ * ”这一种,所以内层循环就只有一个,在下一题中会对这个补充进行进一步说明。
这题就分享到这里啦,小白菜要去肝下一题啦~~~