- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验6循环结构程序设计
实验6 循环结构程序设计(2)
一、实验目的:
1、继续熟悉循环程序设计,掌握不确定次数循环判定条件的设置;
2、掌握多重循环的使用,能够熟悉应用穷举法、迭代法、判定素数、求最大公约定等典型算法;
3、熟悉break语句和continue语句在循环中的应用,并区分两者的不同。
二、实验内容
1、(基础题)编写程序,输出从公元2000年到3000年所有闰年的年份,每行输出10个年份。判定闰年的条件是:
(1)年份能被4整除,但不能被100整除,则是闰年;
(2)年份能被400整除也是闰年。
(提示:循环变量从2000变化到3000,然后去判断每一个年份是否为闰年,若是,则输出。由于每行只能输出10年份,还要定义一个整型变量用于计数)
程序运行效果图如下图所示:
2、在全系1000学生中,征集慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数,以及平均每人捐款的数目。请根据题目要求完善代码。
思路:①循环次数不确定,但最多循环1000次:在循环体中累计捐款总数,用if语句检查是否达到10万元,如果达到就不再继续执行循环,终止累加;②计算人均捐款数。
#include stdio.h
______________//定义符号常量SUM,值为100000
int main()
{
float amount,aver,total;
int i;
for (i=1,total=0;i=1000;i++)
{
printf(please enter amount:);
scanf(%f,_____);//输入用户捐款数额,存入amount变量
___________;//用户捐款数额累加进total变量中
if(total=SUM) //判断捐款数额是否已够
_______;
}
//计算平均每人捐款的数目
if(i1000) //循环正常结束
aver=total/(i-1);
else //循环提前结束
________;
printf(num=%d\naver=%10.2f\n,i,aver);
return 0;
}
3、(基础题)已知有式子:xyz+yzz=532, 其中x、y、z为数字,编写程序输出所有满足条件的x、y和z。(提示:可以利用三重循环去列举出所有可能组合,x、y、z的值只能在0-9之间)。程序运行效果图:
4、(提高题)输入两个正整数,输出它们的最大公约数和最小公倍数。
(提示:参考课件例子,先求最大公约数,最小公倍数=这两个数的乘积/最大公约数)
如果一个数既是数A的约数,又是数B的约数,称为A,B的公约数
分析:用辗转相除法(欧几里德算法)
先比较两个数的大小;
(i)用较大数去除较小数,得到一个余数;
(ii)如果余数为0,则除数(较小数)就是最大公约数,结束运算;
(iii)如果余数不为0,则计算除数(较小数)和余数的最大公约数即可(舍去被除数)。转向执行(i)。
以求288和123的最大公约数为例,操作如下: 288÷123=2余42
123÷42=2余39
42÷39=1余3
39÷3=13
所以3就是288和123的最大公约数。
编程思路:
(1)输入两个正整数m,n(确保m大于n)
(2)用m除以n得到余数r;
(3)若r=0,则n为最大公约数,程序结束;否则用n取代m,用r取代n,转去执行第(2)步。
程序运行效果图:
文档评论(0)