题目:用#打印如下所示的三角形,运行结果如图所示:
技术要点:
本实例中多次用到for循环,以下是对for循环的详细讲解
foe语句的一般形式为:
for(表达式1;表达式2;表达式3)语句
它的执行过程如下。
(1)先求解表达式1
(2)求解表达式2,若其值为非0,则执行for语句中指定的内嵌语句,然后执行下面第三步。若表达式2为0,则结束循环,转到下面第五步
(3)求解表达式3.
(4)返回第二步继续执行。
(5)循环结束,执行for语句下面的一个语句>
过程实现:
(1)第一个for循环控制整个图形的行数,本实例中的图形共5行,所有i的范围为1——5.
(2)第二个for循环用来控制空格数量,这时需要找出每行空格数在图形中的规律,第一行有4个,第二行有3个,以此类推,第五行有0个空格。所以找出规律就是每行的空格数等于5-行数,也就确定了j的范围。
(3)第三个for循环用来控制#输出的数量,同样也要找出规律,第一行有1个,第二行有3个以此类推,第五行有九个,得出规律,每行输出#的数为,行数乘以2-1,也就确定了k的范围。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int i, j, k;
for (i = 1; i <= 5; i++)
{
for (j = 1; j <= 5 - i; j++)
printf(" ");
for (k = 1; k <= 2 * i - 1; k++)
printf("#");
printf("\n");
}
return 0;
}
举一反三:
①编写程序
123456
612345
561234
456123
②用*打印菱形