2.
变量i, k, j, m, least, greatest均为整型变量,没有对其赋予初值。
五、算法(用伪代码描述):
2.
for (j=i; j<=i||j>=1; j--)//此处for循环为求最大公约数 {
if( i%j == 0) greatest = j; else ;
if( k % greatest == 0) {
printf(\和%d的最大公约数为%d!\\n\ break; } else ; }
least = i * k / greatest;
printf(\和%d最小公倍数为%d!\\n\
六、源程序清单:
2.
# include
int i, k, j, m, least, greatest;// i, k存储的是两个正整数, least为最小公倍数,greatest
为最大公约数
printf(\请输入两个正整数(中间以空格分隔):\ scanf(\
for (j=i; j<=i||j>=1; j--)//此处for循环为求最大公约数 {
if( i%j == 0) greatest = j; else ;
- 15 -
if( k % greatest == 0) {
printf(\和%d的最大公约数为%d!\\n\ break; } else ; }
least = i * k / greatest;
printf(\和%d最小公倍数为%d!\\n\
return 0; }
七、实验结果:
1. 在下表中写出输入的数据及其运行结果:
输入数据 运行结果 方法1 12 1+3+…+23=144 方法2 12 1+3+…+23=144 方法3 12 1+3+…+23=144
2. 运行结果(或截图):
请输入两个正整数(中间以空格分隔):36 12
36和12的最大公约数为12! 36和12最小公倍数为36!
成绩 指导教师签名
- 16 -
实验六
实验项目名称:多层循环程序设计及break、continue语句在循环程序中的应用 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的:
1. 掌握多层循环程序的执行过程及设计方法;
2. 掌握break及continue语句在循环程序中的使用方法。 二、预习内容:
教材《C语言程序设计教程》第4章。
三、实验内容:
1. 百马百担问题。有100匹马,驮100担。大马驮3担,中马驮2担,两个小马驮1担。问大、中、小马各多少?(考虑适当减少循环次数)
2. 编程输出100以内的所有素数。
3. 编程输出所有水仙花数(所谓“水仙花数”,是指一个3位数,其各位数字的立方和等于该数本
333
身,例如,153=1+5+3,所以153是一个水仙花数)。
四、程序中所用的变量(类型及其初值):
1. 变量x, y, z均为整型变量,均未赋予初值
2. 整型变量x,y,均未赋予初值
3.整型变量i,m,n,
n初值为0,m、n未赋予初值
五、算法(用伪代码或自然语言描述): 1. for ( x=0; x<=20; x++)
{ }
for ( y=0; y<=33; y++) {
z = 100 - x - y;
if( z%2==0 && 3*x + 2*y + z/2 ==100) }
printf(\大马有%d匹,中马有%d匹,小马有%d匹!\\n\
2.
for ( i = 1; i <= 100; i += 1)
- 17 -
{ for ( j = 2; j <= i; ++j) {
if ( i%j == 0 ) { if ( i == j)
printf (\
else
break;
} }
}
3.
for(i=100;i<=999;++i) {
int m, n = 0;
m = i % 10; n += m * m * m;
m = (i/10) % 10; n += m * m * m;
m = (i/100) % 10; n += m * m * m;
if ( n == i)
printf(\ else ; }
六、源程序清单: 1.
# include
- 18 -
{ } 2.
# include
int i, j;
for ( i = 1; i <= 100; i += 1) {
for ( j = 2; j <= i; ++j) {
if ( i%j == 0 ) { } }
- 19 -
int x, y, z;
for ( x=0; x<=20; x++) { } return 0;
for ( y=0; y<=33; y++) {
z = 100 - x - y;
if( z%2==0 && 3*x + 2*y + z/2 ==100) }
printf(\大马有%d匹,中马有%d匹,小马有%d匹!\\n\
if ( i == j)
printf (\
else
break;