实验报告_实验6 循环结构程序设计(2)(学号_姓名)
一、实验目的:
1、继续熟悉循环程序设计,掌握不确定次数循环判定条件的设置; 2、掌握多重循环的使用,能够熟悉应用穷举法、迭代法、判定素数、求最大公约定等典型算法;
3、熟悉break语句和continue语句在循环中的应用,并区分两者的不同。
二、实验内容
1、(基础题)编写程序,输出从公元2000年到3000年所有闰年的年份,每行输出10个年份。判定闰年的条件是:
(1)年份能被4整除,但不能被100整除,则是闰年; (2)年份能被400整除也是闰年。
(提示:循环变量从2000变化到3000,然后去判断每一个年份是否为闰年,若是,则输出。由于每行只能输出10年份,还要定义一个整型变量用于计数) 程序代码:
#include
int year,count;
for(year=2000,count=0;year<=3000;year++) {
if ((year%4==0)&&(year0!=0)||(year@0==0))
{
printf(\,year);
}
}
count++; if(count==0)
printf(\);
printf(\); }
return 0;
2、(基础题)参考课件例子,编程打印输出如下图形:
(提示:可以分别利用两重循环输出上三角形、下三角形) 程序代码:
#include
for(i=1;i<=5;i++) { for(j=1;j<=i;j++) printf(\); printf(\);
}
for(i=1;i<=4;i++) { for(j=1;j<=5-i;j++) printf(\); printf(\);
}
}
return 0;
3、(基础题)已知有式子:xyz+yzz=532, 其中x、y、z为数字,编写程序输出所有满足条件的x、y和z。
(提示:可以利用三重循环去列举出所有可能组合,x、y、z的值只能在0-9之间) 程序代码:
#include
int x,y,z; for(x=1;x<=9;x++)
for(y=1;y<=9;y++)
for(z=0;z<=9;z++)
if(x*100+10*y+z+y*100+10*z+z==532)
printf(\,x,y,z);
return 0; }
4、(基础题)输入两个正整数,输出它们的最大公约数和最小公倍数。
(提示:参考课件例子,先求最大公约数,最小公倍数=这两个数的乘积/最大公约数) 程序代码:
#include
int a, b, rem,times,temp;
printf(\、?éb:êo\); scanf(\,&a,&b); times=a*b; if(a
{