本文共 810 字,大约阅读时间需要 2 分钟。
实验目的:1.体会“自顶向下,逐步求精”的思路
2.掌握用循环解决复杂问题的方法。
实验步骤:
1.用循环输出如下图形。
*****
*****
*****
*****
*****
分析:
1)图形有5行,可以用循环输出每行。循环变量i由1到5,每循环一次就输出一行(第i行)。
for(i=1; i<=5;++i)
{
//输出第i行
}
2)第i行有5个*号和一个\n。输出时有两种方式:printf("*****\n");或
for(j=1; j<=5; ++j)
printf("*");
printf("\n");
2.把用户输入一个正整数(不大于10)存入变量n中,输出一个由n行n列*号组成的图形。如输入3时输出
***
***
***
如输入5时输出刚才的图形。
分析:
1)图形有n行,可以用循环输出每行。循环变量i由1到n,每循环一次就输出一行(第i行)。
2)第i行有n个*号和一个\n,输出时只能用循环的方式。
3.用循环输入如下图形。
*****
****
***
**
*
分析:
与前面思路相同。
1)图形有5行,可以用循环输出每行。循环变量i由1到5,每循环一次就输出一行(第i行)。
2)如何输出第i行?找规律。
循环变量i为1时,输出第1行,需输出5个*号和一个\n。
循环变量i为2时,输出第2行,需输出4个*号和一个\n。
对于第i行,需输出几个*号和一个\n。
4.如果上面程序中的*号用空格加*号代替会输出什么样的图形?用**代替呢?
5.代码
for(i=2,sum=1; i<=5;++i)
sum += i;
可以改写为
sum = 1;
i = 2;
sum += i;
i = 3;// ++i
sum += i;
i = 4; // ++i
sum += i;
i = 5; // ++i
sum += i;
用此方法改写上面的程序(只改写外层的循环)。转载地址:http://jddti.baihongyu.com/