版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
循环习题集锦一.
选择题1.for(i=0;i<10;i++);结束后,i的值是;(10)A9B10C11D122.下面程序的循环次数是:(D)intk=0;while(k<10){if(k<1)continue;if(k==5)break;k++;}A.5B6C4D死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){ints,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A1B9C10D154.要使下面程序输出10个整数,则在下画线处填入正确的数是:(c)for(i=0;i<=;)printf(“%d\n”,i+=2);A9B10C18D205.运行下面程序:(B)main(){inti=10,j=0;do{j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A45B40C34D556.运行下面程序#include“stdio.h”main(){intk=0,a=1;while(k<10){for(;;){if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d%d\n”,k,a);}则输出的结果是(C)A2132B2133C1112D10117.以下叙述正确的是:(D)A.do---while语句构成的循环不能用其他语句构成的循环来代替。B.do---while语句构成的循环只能用break语句退出。C.用do---while语句构成的循环,在while后的表达式为非零时结束循环。D.用do---while语句构成的循环,在while后的表达式为零时结束循环。8.有如下程序:main(){intx=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A321B210C3D29.若k为整型变量,则下面while循环执行的次数为:(A)k=10;while(k==0)k=k-1;A0B1C10D无限次10.下面有关for循环的正确描述是(D)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体。D.for循环的循环体语句汇总,可以包含多条语句,但必须用花括号括起来。11.对for(表达式1;;表达式3)可理解为(B)Afor(表达式1;0;表达式3)Bfor(表达式1;1;表达式3)Cfor(表达式1;表达式1;表达式3)Dfor(表达式1表达式2;表达式3)12.若i为整型变量,则以下循环执行的次数是(B)for(i=2;i==0;)printf(“%d”,i--);A.无限次B0次C1次D2次13.以下循环体的执行次数是;(B)main(){intI,j;for(i=0,j=3;i<=j;i+=2,j--)printf(“%d\n”,i);}A3B2C1D014.执行以下程序后,输出结果是:(D)main(){inty=10;do{y--;}while(--y);printf(“%d”,y--);}A-1B1C8D015以下程序的输出结果是:(C)mian(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=10)break;if(b%3==1){b+=3;continue;}}printf(“%d”,a);}A101B3C4D5二、填空题1.
循环的3个常见语句分别是?(for,while,do,break,continue)2.
下面程序的运行结果为:(14,26)main(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a<14);printf(“a=%d,y=%d\n”,a,y);}3.从键盘输入12345-1回车,则下面程序运行的结果是:(14,-1)main(){intn,k=0;do{scanf(“%d”,&n);k+=n;}while(n!=-1);printf(“k=%d,n=%d”,k,n);}4.下面程序的运行结果为:39(--i=1,i=2两次循环)main(){inti,j,s=0;for(i=1,j=5;i<j;i++,j--)s+=i*10+j;printf(“\n%d”,s);}5.下面程序的运行结果是19(i=9,s=9;i=6,s=15;i=3,s=18)main(){inti=10,s=0;for(;--i;)if(i%3==0)s+=i;s++;printf(“\ns=%d”,s);}6.下面程序的运行结果是–22222(n=4,s=22;n=4,s=222;n=2,s=2222;n=1,s=22222)main(){inta=2,n=5,s;s=a;for(;--n;)s=s*10+a;printf(“%d”,s);}7.下面的程序运行时,循环体语句“a++”运行的次数为:10main(){inti,j,a=0;for(i=0;i<2;i++)for(j=4;j>=0;j--)a++;}8.下面的程序运行后,a的值为:7main(){inti,j,a=0;for(i=0;i<2;i++)a++;for(j=4;j>=0;j--)a++;}9.下面程序的运行结果为:(8)--(s=4,i=3;s=7,i=4;s=11,i=6;s=17,i=8)inti=1,s=3;do{s+=i++;if(s%7==0)continue;else++i;}while(s<15);printf(“%d”,i);10.当运行以下程序时,从键盘输入China#回车,则下面程序的运行结果是:5,5#include“stdio.h”main(){intv1=0,v2=0;charc;while((c=getchar())!=’#’){switch(c){case‘a’:case‘h’:default:v1++;case‘o’:v2++;}}printf(“%d,%d\n”,v1,v2);}三、改错题1.
for(i-0,i<5,i++)j++;2.
while(j<10);{j++;i=j;}3.
do{j++;a=j;}while(j<10)4.
用下面程序来实现5!ints=1,i=1;while(i<=5)s*=i;i++;5.下面程序段实现求半径r=1到r=10的圆面积,直到面积大于100为止。For(r=1;r<=10;r++){s=3.14*r*r;if(s>100)continue;printf(“%f”,s);}四、编程题1.
求1-2+3-4+…+99-100。2.
任意输入10个数,分别计算输出其中的正数和负数之和。3.
计算1---100以内的所有含6的数的和。4.
输出所有的3位水仙花数。所谓水仙花数是指所有位的数字的立方之和等于该数,例如:153=13+33+535.
编写程序输出下面图形。12345678906.
编写程序输出下面图形*************************1、计算n的阶乘(n!),n的取值在1~10之间。分别使用while、do…while和for语句实现。(三个程序)给循环变量赋初值循环条件循环体循环变量的增值2、输入一行字符,分别统计输入了多少个字母、数字、空格和其他字符。3、假设函数f(x)=3x2+2x+1,试利用for循环语句分别求出1<=x<=9的f(1)~f(9)各函数值。4、有分数序列2/1,3/2,5/3,8/5,13/8,21/13…求这个数列的前20项和。(分析提示:每个分子等于前一个数据分子与分母的和,每个分母等于前一个数据的分子)5、输出显示1~100之间可以被n整除的所有整数,运行时n由键盘输入。要求每一行显示5个数,并且统计一共有多少个整数能被n整除。6、下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。main(){floatx,amax,amin;scanf("%f",&x);amax=x;amin=x;while(①){if(x>amax)amax=x;if(②)amin=x;scanf("%f",&x);}printf("\namax=%f\namin=%f\n",amax,amin);}7、使用循环语句输出以下图形8、有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一位数字,试找出所有符合上述要求的乘积式并打印输出。8、一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。分析:这是一个古典数学问题,设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z,问题化为三元一次方程组:100=x*5+y*3+z/3100=x+y+z这里x,y,z为正整数,且z是3的倍数;由于鸡和钱的总数都是100,可以确定x,y,z的取值范围:1)x的取值范围为1~202)y的取值范围为1~333)z的取值范围为3~99,步长为3对于这个问题我们可以用穷举的方法,遍历x,y,z的所有可能组合,最后得到问题的解。数据要求问题中的常量:无问题的输入:无问题的输出:intx,y,z/*公鸡、母鸡、小鸡的只数*/初始算法1.初始化为1;2.计算x循环,找到公鸡的只数;3.计算y循环,找到母鸡的只数;4.计算z循环,找到小鸡的只数;5.结束,程序输出结果后退出。算法细化算法的步骤1实际上是分散在程序之中的,由于用的是for循环,很方便的初始条件放到了表达式之中了。步骤2和3是按照步长1去寻找公鸡和母鸡的个数。步骤4的细化4.1z=14.2是否满足百钱,百鸡4.2.1满足,输出最终百钱买到的百鸡的结果4.2.2不满足,不做处理4.3变量增加,这里注意步长为3程序代码如下#include"stdio.h"main(){intx,y,z;for(x=1;x<=20;x++){for(y=1;y<=33;y++){for(z=3;z<=99;z+=3){if((5*x+3*y+z/3==100)&&(x+y+z==100))/*是否满足百钱和百鸡的条件*/printf("cock=%d,hen=%d,chicken=%d\n",x,y,z);}}}}分析程序运行结果如下:cock=4,hen=8,chicken=78cock=8,hen=11,chicken=81cock=12,hen=4,chicken=84对于这个问题实际上可以不用三重循环,而是用二重循环,因为公鸡和母鸡数确定后,小鸡数就定了,即。请同学们自己分析二重循环和三重循环的运行次数,做为练习自己调试这一方法。程序修改:1、统计使用三重循环的循环次数2、使用二重循环完成,并统计循环次数#include<stdio.h>intmain(){inti1,i2,j1,j2,a,b,c,d;for(i1=11;i1<=99;i1++)for(j1=i1+1;j1<=99;j1++){a=i1/10;b=i1%10;c=j1/10;d=j1%10;if(a!=b&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d){i2=b*10+a;j2=d*10+c;}if(i1*j1==i2*j2){printf("%d*%d=%d*%d\t",i1,j1,i2,j2);}}return0;}#include<stdio.h>voidmain(){inta,b,c,d;for(a=1;a<=9;a++)for(b=1;b<=9;b++)for(c=a+1;c<=9;c++)for(d=1;d<=9;d++)d{if((a*10+b)*(c*10+d)==(10*b+a)*(10*d+c))if((a!=b)&&(a!=c)&&(a!=d)&&(b!=c)&&(b!=d)&&(c!=d))printf("%d%d*%d%d=%d%d*%d%d\t",a,b,c,d,b,a,d,c);}}#include<stdio.h>main(){inti,n,j=0;printf("请输入一个整数n:");scanf("%d",&n);if(n>=1&&n<=100){printf("1~100间可以被%d整除的数是:\n",n);for(i=n;i<=100;i+=n){printf("%-3d",i);j++;if(j%5==0)putchar('\n');}}elseprintf("输入错误!");}#include<stdio.h>intmain(){intx,y;for(x=1;x<=9;x++){y=3*x*x+2*x+1;printf("f(%d)=%d\n",x,y);}}#include<stdio.h>intma
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年大学班级综合素质测评加分细则
- 2026年乡镇粮食作物良种补贴政策知识测试
- 2026年支部委员会研究重要事项范围与程序问答
- 2026年社会政策与制度模拟卷解析
- 2026年社区文化管理员招聘考试理论知识模拟试题
- 疫情常态化防控工作方案
- 2026年年度发展规划商议函(4篇)
- 2026年乡镇干部农产品承诺达标合格证知识考核卷
- 2026年退役军人安置条例国防条款知识问答
- 部门职能与价值介绍
- 软技能培训课件下载
- 2025年陕西省宝鸡市陈仓区中考二模历史试题
- 《人体工程学(第3版)》高职全套教学课件
- 诈骗赔偿协议书模板
- 2025辽宁沈阳地铁集团有限公司所属公司招聘11人笔试参考题库附带答案详解
- 艺术漆销售知识培训
- 村民委员会补选方案模板
- GA/T 1406-2023安防线缆应用技术要求
- FZT 60045-2014 汽车内饰用纺织材料 雾化性能试验方法
- 检验科新员工岗前培训
- 第9章 语义分割
评论
0/150
提交评论