- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言循环结构的
循环程序设计(2);1.break语句;【例7:】 求300以内能被17整除的最大的数。;【例8】 求300以内能被17整除的所有整数。 ;(1)语句形式:
continue;;#include stdio.h
void main()
{int a, b;
for(a=1,b=1; a=10; a++)
{if(b=10) break;
if(b%3==1)
{b+=3; continue;}
}
printf(%d\n,a);
}
;循环程序设计(循环嵌套);循环程序设计(循环嵌套); 在循环体语句中又包含有另一个完整的循环结构的形式,称为循环的嵌套。如果内部的循环体中又有嵌套的循环语句,则构成多重循环。;循环语句之间的关系;菱形图案程序如下:;循环嵌套;循环嵌套;Cocks hens chicks;#include stdio.h
void main()
{ int x,y,z;
for(x=1;x=20;x++)
{ for(y=1;y=33;y++)
{ z=100-x-y;
if (5*x+3*y+z/3 ==100)z%3==0)
printf(“cock:%d, hens:%d, chicks:%d\n,x,y,z);
}
}
};循环嵌套;循环程序设计;循环程序设计;枚举法求2个整数的最大公约数;例11 判断m是否素数。
算法:
素数:除了1和自身外不能被其他数整除。
判断方法:测试m能否被2到根号m整除。
为什么不是2到m-1,而是根号m?
一个数m,如果它有约数的话,约数肯定要成对出现,必然有一个大于根号m,另一个小于根号m(显然如果都大于根号m,那相乘结果会大于m)。
根号m的计算方法:利用求平方根的函数sqrt;循环变量:定义为i(整型)
循环变量的范围: 2~k ,k=sqrt(m) (k为整型)
即:i的初值为2,循环执行条件为i=k
循环变量的变化:i++
重复执行的操作:
如果m能被i整除,则说明m不是素数,也就不需要进行后面的判断,应退出循环结构(用break语句);否则,继续判断。
结果的输出:
如果循环是中途退出的,则i=k,输出m不是素数;否则,m是一个素数。;例11 程序
#includestdio.h
#includemath.h
main( )
{
int i,m,k;
scanf(%d,m);
k=(int)sqrt(m);
for(i=2;i=k;i++)
if(m%i==0) break;
if(i=k) printf(%d不是一个素数\n,m);
else printf(%d是一个素数\n,m);
};输出100以内的所有素数(5个一行输出);循环程序设计;循环程序设计;程序代码如下:
#include stdio.h
void main()
{
int i,f1,f2,f3;
f1=f2=1;
for(i=3;i13;i++)
{
f3=f1+f2;
printf(%6d,f3);
f1=f2; //用新值取代旧值
f2=f3; //用新值取代旧值
}
};循环程序设计;求2个非负整数的最大公约数程序代码。;例14猴子吃桃子问题(迭代法,递推法)(教材P141-12);例15: 输出所有水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。例:153=13+53+33 (枚举法);程序代码如下:
#include stdio.h
void main()
{
int m,bai,shi,ge;// bai、shi、ge分别对应百位、十位和个位
for(m=100;m=999;m++)
{
bai=m/100;
shi= m/10 %10;
ge=m%10;
if(m==bai*bai*bai+shi*shi*shi+ge*ge*ge)
printf(%d ,m);
}
};例16:已知abc+cba=1333;其中a、b、c均为一位数,编程求出满足条件的a,b,c的所有组合。
【解析】可以用三重循环穷举所有的解。
程序代码如下:
#include stdio.h
void main()
{
int a,b,c;
for(a=0;a=9;a++)
{
for(b=0;b=9;b++)
{
for(c=0;c=9;c++)
您可能关注的文档
最近下载
- GB_T 39637-2020 金属和合金的腐蚀 土壤环境腐蚀性分类.pdf
- 聚硼硅氮烷合成、掺杂及SiBCN陶瓷应用研究.docx VIP
- 影像技术在麻醉科中的应用.pptx VIP
- 建筑工程图集 15J401:钢梯.pdf VIP
- 电信xx公司计算机系统应急预案演练方案_综合业务支撑系统(IBSS-CRM)_V02.docx VIP
- 尼康NIKON-AF-S 24-70mm f2,8D G维修操作手册.pdf
- 2024年中考物理专项复习:内能、内能的利用.pdf VIP
- 耳内镜微创外科技术PPT幻灯片.pptx VIP
- 肯尼亚市场行业分析.pptx VIP
- 肯尼亚建筑市场行业报告.pptx
文档评论(0)