实验5_循环结构程序设计2题目及解答

合集下载

循环结构程序设计课后习题及答案

循环结构程序设计课后习题及答案

循环结构程序设计习题与答案1、循环语句的三要素分别是、、.2、for语句括号内的3个表达式的作用分别是、、.3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环.4、在循环结构中,break语句的作用是;continue语句的作用是.5、当循环条件一开始就为假时,对于while语句、do…while语句、for语句,分别执行循环体次、次、次.6、下面程序段的执行次数:int a=0;while<a=0>{ printf<"good\n">;a--;}7、下面程序段的执行次数:int a=0;while<a==0>{ printf<"good\n">;a--;}8、下面程序段的执行次数:int a=1;while<a=1>{ printf<"good\n">;a++;}9、下面程序段的执行次数:int a=1;while<a==1>{ printf<"good\n">;a++;}10、下列程序段的运行结果是.for<i=5;i>=0;i-->printf<"%d ",i>;11、下列程序段的运行结果是.for<n=1;n<20;n=n+3>printf<"%d ",n>;12、下列程序段的运行结果是.for<ch='a' ;ch<='e' ;ch++>printf<"%d",ch-97>;13、下列程序段的运行结果是.for<i=1,j=5 ; i<j ; i++,j-->printf<"i=%d j=%d\n",i,j>;14、下列程序段的运行结果是.for<n=1 ; n*n<20 ; n++>printf<"%d \n",n+n>;二、选择题1、下列程序段中,死循环的是〔〕A、for <i=1; ;>B、i=32767;{ if<++i%2==0> continue; doif<++i%3==0> break; { if<i<0> break;} }while<++i>;C、i=1;D、for<i=1; ; >while<i-->; if<++i<10> break;2、下列程序段中,不是死循环的是〔〕A、inti=10;B、for< ; 1;>while<1>{ i=i%100+1;if<i>100> break;}C、int a=0;D、int x=21;do while<x>{ ++a; --x;}while<a>=0>;三、阅读程序,写出程序运行结果.1、#include"stdio.h"main<>{inti=0,sum=1;do{sum+=i;i++;}while<i<5>;printf<"%d\n",sum>;}程序运行结果:2、#include"stdio.h"main<>{inta,b;b=10;a=1;while<a<=b>a*=2;printf<"%d\n",a>;}程序运行结果:3、#include"stdio.h"main<>{int x=2;while<x-->;printf<"%d\n",x>;}程序运行结果:4、#include"stdio.h"main<>{int x=3;do{printf<"%d\n",x-=2>;}while<!x>;}程序运行结果:5、#include"stdio.h"main<>{inti;for<i=1;i<=5;i++>switch<i%5>{case 0:printf<"*">;break; case 1:printf<"#">;break; case 2:printf<"&">;break; default:printf<"\n">;}}程序运行结果:6、#include"stdio.h"main<>{charch;while<<ch=getchar<>>!='!'>putchar<++ch>;}程序运行结果:7、#include"stdio.h"main<>{inti,j;for<i=0;i<=5;i++>{for<j=1;j<10;j++>if<j==5> break;if<i<2> continue;if<i>2> break;printf<"j=%d\n",j>;}printf<"i=%d\n",i>;}程序运行结果:8、#include"stdio.h"main<>{int x ,y;x=37,y=13;while<x!=y>{if<x>y>x=x-y;if<y>x>y=y-x;}printf<"x=%d\n",x>;}程序运行结果:四、编程题1、输出下列图案12 43 6 94 8 12 165 10 15 20 252、输出下列图案*********3、编程求2-4+6-8+…-100+102的值.4、输出公元1500年至2500年所有的闰年的年号.5、从键盘上输入若干学生的C语言成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入.循环结构程序设计〔参考答案〕一、填空题、1.循环条件循环体循环控制变量2.循环变量赋初值循环测试条件循环变量更新3.执行整个周期外层循环条件为假4.提前结束包含它的循环语句的执行提前结束本次循环周期开始执行下一次循环周期5.0 1 06.07. 18.无数9. 110.5432111.1 4 7 10 13 16 1912.0123413.I=1,j=5I=2,j=414.14916二、选择题1. B2. D三、程序运行结果1.112.163.-14.15.#&*6.bgufsoppo7.i=5J=38.x=1四、编程题1.#include"stdio.h"main<>{inti,j;for<i=1;i<=5;i++>{for<j=1;j<=i;j++>printf<"%d ",i*j>;printf<"\n">;}}2.#include"stdio.h"main<>{inti,j;for<i=5;i>=1;i-=2>{for<j=1;j<=i;j++>printf<"*">;printf<"\n">;}}3.#include"stdio.h"main<>{inti,y=1,s=0;for<i=2;i<=102;i+=2>{ s=s+y*i;y*=-1; 〔y=-y>; } printf<"2-4+6+...-100+102=%d",y>;}4.#include"stdio.h"main<>{inti;for<i=1500;i<=2500;i++>if<i%4==0&&i%100!=0||i%400==0> printf<"%d ",i>;}5.#include"stdio.h"main<>{floatcj,min,max=0;printf<"请输入学生成绩,输入负数时结束:\n">; scanf<"%f",&cj>;min=cj;while<cj>=0>{if<cj>max>max=cj;if<cj<min>min=cj;scanf<"%f",&cj>;}printf<"max=%f\nmin=%f",max,min>;}。

上机实验五-循环结构程序设计-答案

上机实验五-循环结构程序设计-答案

上机实验五-循环结构程序设计-答案上机实验五循环结构程序设计姓名:学号: 姓名:本次实验一共5个题目,4个必做,一个选做我建的浙师大c程序设计群,群号为:185106065,大家加入下,验证信息请写为班级+姓名。

我打算以后把每次实验的答案(我写的代码)都放到群共享里面,大家可以在群里讨论下不会的地方或者不同的实现方法。

重要提醒:邮件主题和本word文件名统一用班级+学号+姓名+实验几命名(学号和姓名记得不能少),不然我在检查作业提交情况时可能会漏掉一.目的要求1.掌握用for、while、do-while语句实现循环的基本技巧;2.掌握循环次数不确定的解题技巧;3.掌握break语句、continue语句在循环语句中的作用以及不同之处;4.掌握多重循环的编程技巧。

二.实验内容【实验题1】. 程序填空:分别用for、while、do-while语句编程,输出菲波那契数列的前20项,要求每行输出10项。

思考:line 5和line 8行中printf()函数的格式控制符均为”%6d”, 假如均改为”%d”, 输出结果有何不同?源程序2:用while语句实现#includevoid main(){ int i,x1,x2,x;x1=x2=1;printf("%6d%6d",x1,x2); /*输出前2项*/i= 3 ;while(i <= 20 ){x=x1+x2;printf("%6d",x);if(i%10 == 0 ) printf("\n"); /*每行输出10项*/x1= x2 ; x2=x ;i++ ;}}【实验题2】(课本p141第10题)有一个分数序列2/1,3/2,5/3,8/5,13/8,21/13,…求出这个分数序列的前20项之和。

源代码粘贴处#includevoid main(){int i;double x1,x2,x,sum = 0;x1=x2=1.0;//直接在上一题的程序上做简单修改for(i=1 ; i<=20; i++){x=x1+x2;sum = sum +x/x2;x1= x2 ; x2= x ;}printf("%f", sum);}【实验题3】(课本p141第11题)一个球从100米高度自由落下,每次落地后反跳回原来高度的一般,再落下,再反弹。

实验5循环结构

实验5循环结构

实验5循环结构理解课程内容、完成实验任务、写好实验报告实验五循环结构一、实验目的1.理解循环结构的含义和作用。

2.掌握ForNe某t、DoWhile----Loop结构的用法。

3.能够使用循环结构编写程序。

二、实验内容1.实验准备在练习文件夹中建立vb5-1、vb5-2、vb5-3、vb5-4、vb5-5、vb5-6、vb5-7、vb5-8文件夹。

2.DoWhile—Loop选择结构例1:给内部变量赋值(1)创建工程。

(2)建立用户界面,如右图所示。

(3)双击按钮控件,切换到代码设计窗口,添加程序代码如下:EndSub(4)调试运行程序。

(5)保存结果到练习文件夹中的vb5-1文件夹。

该程序通过在循环结构中添加K=K+1语句,使得K的值分别为2,3,4,,10。

(1)创建工程。

(2)建立用户界面,如上图所示。

(3)双击按钮控件,切换到代码设计窗口,添加程序代码如下:理解课程内容、完成实验任务、写好实验报告EndSub(4)调试运行程序。

(5)保存结果到练习文件夹中的vb5-2文件夹。

3.For—Ne某t选择结构程序代码如下:EndSub(4)调试运行程序。

(5)保存结果到练习文件夹中的vb5-3文件夹。

三、思考题1.设计一个程序,要求在窗体上显示20个100~200之间的随机整数。

保存结果到练习文件夹中的vb5-4文件夹。

2.设计一个程序,要求用对话框输入n值,在窗体上显示=1某2+2某3+3某4++n某(n+1)的值。

保存结果到练习文件夹中的vb5-5文件夹。

设计提示:(1)使用变量保存和值。

n的计算结果为14。

(2)使用DoWhile----Loop结构判断的大小,当>1000时结束循环。

保存结果到练习文件夹中的vb5-6文件夹。

2理解课程内容、完成实验任务、写好实验报告(3)使用For/Ne某t结构,结合E某itFor语句判断>1000时结束循环。

保存结果到练习文件夹中的vb5-7文件夹。

python程序设计实验报告五:循环结构程序设计(综合性实验)

python程序设计实验报告五:循环结构程序设计(综合性实验)

python程序设计实验报告五:循环结构程序设计(综合性实验)安徽⼯程⼤学Python程序设计实验报告班级物流192 姓名张⽻学号 3190505221 成绩⽇期 2020.4.23 指导⽼师修宇实验五综合运⽤三种基本结构进⾏程序设计(综合性实验)(⼆学时)【实验⽬的】(1)进⼀步掌握选择与循环结构程序设计的⽅法和技巧;(2)综合运⽤三种基本结构进⾏程序设计;【实验条件】PC机或者远程编程环境【实验内容】1、完成三个编程题。

(1)计算并输出指定范围内的素数素数⼜称质数。

指整数在⼀个⼤于1的⾃然数中,除了1和此整数⾃⾝外,没法被其他⾃然数整除的数。

换句话说,只有两个正因数(1和⾃⼰)的⾃然数即为素数。

⽐1⼤但不是素数的数称为合数。

1和0既⾮素数也⾮合数。

素数在数论中有着很重要的作⽤。

2300多年前,古希腊数学家欧⼏⾥得在《⼏何原本》⼀书中证明了素数有⽆穷多个,如2、3、5、7、11等等。

问题描述:编程实现输出指定范围内的素数,输⼊以逗号间隔,输出以空格间隔。

指定范围由⽤户输⼊指定。

(2)九九乘法表问题描述:请按照如下格式设计⼀个“九九乘法⼝诀表”,并打印出来。

编程要点及提⽰:1. 使⽤for循环或者while循环实现以上功能2. 代码量不超过10⾏3. 在⼀⾏中,每个等式之间使⽤制表符"\t"进⾏分隔;对于每⼀⾏等式之间使⽤print()打印空字符实现,即print("")(3)统计不同字符个数问题描述:⽤户从键盘输⼊⼀⾏字符。

请编写⼀个程序,统计并输出其中英⽂字符、数字符号、空格和其他字符的个数。

输⼊格式:输⼊⼀⾏字符输出:按照顺序输出字母,数字,空格,及其他字符的个数,个数以空格分隔如:【实验记录与分析】(请在填写实验记录与分析结果)1.计算并输出指定范围内的素数输⼊代码,输出结果及分析如下:易错点:1.程序⽆法同时处理两个输⼊数据,在输⼊未处理时。

2.本题中的else语句不能和第⼆个的if对齐。

实验报告5 循环结构

实验报告5 循环结构

实验报告5 循环结构1. 实验目的本次实验主要通过编写程序练习循环结构的使用,包括for循环和while循环,并掌握循环结构在解决问题中的应用。

2. 实验内容2.1 for循环2.1.1 基本语法for循环一般的基本语法如下:pythonfor 变量in 可迭代对象:循环体其中,变量为循环控制变量,可迭代对象为需要遍历的对象,循环体为要执行的操作。

2.1.2 实验步骤本次实验选择使用for循环来实现如下功能:1. 计算1到100之间所有正整数的和。

2. 输出一个400行的矩形,每行有20个星号。

python计算1到100之间所有正整数的和sum = 0for i in range(1, 101):sum += iprint("1到100之间所有正整数的和为:", sum)输出一个400行的矩形,每行有20个星号for i in range(1, 401):print("*", end="")if i % 20 == 0:print()2.2 while循环2.2.1 基本语法while循环的基本语法如下:pythonwhile 循环条件:循环体其中,循环条件为判断条件,当循环条件为True时,执行循环体中的操作。

2.2.2 实验步骤本次实验选择使用while循环来实现如下功能:1. 计算1到100之间所有偶数的和。

2. 输出1到100之间所有的质数。

python计算1到100之间所有偶数的和sum = 0i = 1while i <= 100:if i % 2 == 0:sum += ii += 1print("1到100之间所有偶数的和为:", sum)输出1到100之间所有的质数num = 2while num <= 100:prime = Truefor i in range(2, int(num 0.5) + 1):if num % i == 0:prime = Falsebreakif prime:print(num, end=" ")num += 13. 实验结果运行以上代码,可以得到以下结果:1到100之间所有正整数的和为: 5050...1到100之间所有偶数的和为: 25502 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 4. 实验总结通过本次实验,我学会了使用循环结构来解决问题。

循环程序设计习题及答案

循环程序设计习题及答案

循环程序设计习题及答案循环程序设计习题及答案1-基本循环控制结构1-1 基本循环结构示例<代码示例>1-2 循环条件<代码示例>答案:循环条件是一个布尔表达式,如果条件为true,循环将继续执行。

如果条件为false,循环将终止。

1-3 循环计数器<代码示例>答案:循环计数器是一个变量,用于记录循环执行的次数。

1-4 循环控制语句1-4-1 break语句<代码示例>答案:break语句用于提前终止循环,并跳出循环体。

1-4-2 continue语句<代码示例>答案:continue语句用于跳过当前循环体中剩余的代码,直接进入下一次循环。

2-常见循环题型2-1 计算累加和<代码示例>答案:使用循环结构,每次迭代都将当前值累加到一个变量中。

2-2 计算阶乘<代码示例>答案:使用循环结构,每次迭代都将当前值与累积值相乘,并更新累积值。

2-3 猜数字游戏<代码示例>答案:使用循环结构,与用户交互对比猜测的数字与目标数字,直到猜测正确或达到最大猜测次数。

3-循环的嵌套和嵌套控制结构3-1 嵌套循环结构示例<代码示例>3-2 循环的嵌套控制3-2-1 嵌套循环的break语句<代码示例>答案:break语句可以终止当前循环,并直接跳出嵌套循环的外层循环。

3-2-2 嵌套循环的continue语句<代码示例>答案:continue语句可以跳过当前循环体中的剩余代码,并继续下一次迭代。

4-附件本文档没有涉及附件。

5-法律名词及注释5-1 循环:程序中一种重复执行的结构,可通过循环变量控制执行次数。

5-2 循环条件:循环结构中的判断条件,决定循环是否继续执行。

5-3 循环计数器:循环结构中用于记录循环次数的变量。

5-4 break语句:用于提前终止循环,并跳出循环体的语句。

5-5 continue语句:用于跳过当前循环体中剩余的代码,直接进入下一次循环的语句。

第5章 循环结构程序设计习题解答

第5章 循环结构程序设计习题解答

第5章循环结构程序设计习题解答1.输入n个整数,求这n个数之中的偶数平均值,并输出。

#include<stdio.h>void main(){int n,i,x,k=0,s=0;printf("Input a number(n):");scanf("%d",&n);printf("Input %d numbers:",n);for(i=0;i<n;i++){scanf("%d",&x);if(x%2==0){s+=x;k++;}}s/=k;printf("average=%d\n",s);}2.输入一串字符,直到输入一个星号*为止,统计(输出)其中字母个数和数字字符个数。

#include<stdio.h>void main(){int n=0,m=0;char c;printf("Input a string character:");do{scanf("%c",&c);if(c>='0'&&c<='9')n++;else if(c>='A'&&c<='Z'||c>='a'&&c<='z')m++;}while(c!='*');printf("number_char=%d\n",n);printf("letter_char=%d\n",m);}3.从键盘输入一正整数n,计算该数各位数字之和并输出。

例如,输入数是5246,则计算5+2+4+6=17并输出。

#include<stdio.h>void main(){int n,r,m=0,s=0;printf("Input a number(int):");scanf("%d",&n);do{r=n%10;s=s+r;n/=10;if(m==0)printf("%d",r);//加式中的第1项不带“+”elseprintf("+%d",r);m++;}while(n>0);printf("=%d\n",s);}4.输入一个字符串,将其中的大写字母改为小写字母,小写字母改为大写字母,然后输出。

实验5 循环结构 参考答案

实验5 循环结构 参考答案

1.假定在银行中存款10000元,按11.25的利率,一年后连本带利为11125元,问多长时间会连本带利翻一番?Dim m As DoubleDim y As Integerm = 10000y = 0Do While m <= 2 * 10000m =m+m*0.1125y = y + 1Print y, mLoop2.1-100 所有偶数的和。

Dim s As Longs = 0Print "s=";For i = 0 To 100 Step 2s = s + iPrint i & "+";NextPrint "="; sPrint i3.循环的嵌套,生成如图的九九乘法表For i = 1 To 9For j = 1 To 9a = i & "*" & j & "=" & i * jPicture1.Print ; Tab((j - 1) * 9 + 1); a; '每隔9列输出。

Picture1.PrintNext i作业:1.将上面实例补充完整并且调试后,生成exe文件上传,第五题只做一个,文件命名为实例x。

2.任意输入一个正整数n,求1-n的奇数之和,要求n<500。

(参照上面2题)调试后,生成exe文件上传,文件命名为作业3。

Dim sum As Long, i As Integer, n As Integerre: n = V al(InputBox("请输入n,求1-n的奇数之和,要求n<500"))If n > 500 Or n < =0 ThenMsgBox "请重新输入n,n<500!"GoTo reElsesum = 0For i = 1 To n Step 2sum = sum + iNext iPrint "1-" & n & "的奇数和=" & sumEnd If3.用for循环和do循环分别编程:求1-100之间能被5整除的数的和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.3 循环结构程序设计2
【注意事项:
(1)题中页码均为《C语言程序设计教程》中的页码
(2)题后为原程序文件名
(3)仅提交名为【*.c】的源程序文件,可一起提交,也可逐题提交
调试程序中常见问题及处理方法:
(1)出现死循环时:关闭运行窗口即可。


1、按照下面的流程图书程序,用for语句实现。

【提示:参见p97—例4.23 ,并按照下面的左流程图书写007张三511.c,右流程图书写007张三512.c 程序运行结果:
s=2550

2、用for语句编程,求300~500之间的水仙花数(如135:153=13+53+33)。

(007张三52.c)
【程序运行结果:
300~500之间的全部水仙花数如下:⋃⋃370⋃⋃371⋃⋃407 】
3、判断输入的数是否为素数。

【提示:素数是只能被1和其自身和整除的数,】(007张三53.c)
【提示:参见p114—例4.36
程序运行时:程序运行结果:
请输入一个正整数:25↵25不是素数
请输入一个正整数:12↵125不是素数
请输入一个正整数:13↵13是素数

4、判断输入的一个不超过32767的正整数是几位数。

(007张三54.c)【提示:按照右侧的N-S图编程
运行时:运行结果:
请输入一个正整数(1~32767): 135↵135是3位数请输入一个正整数(1~32767): 1356↵1356是4位数请输入一个正整数(1~32767): 28906↵28906是5位数】
附加题:
1、求出100~200间的所有素数。

(007张三5附加1.c )。


运行结果:
101 103 107 109 113 127 131 137 139 149 151 157 163
167 173 179 181 191 193 197 199

2、根据以下公式求π值(直到最后一项小于10
–6
为止)(007张三5附加2.c )

运行结果: pi=3.141590

3、百钱百鸡问题中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?(007张三5附加3.c ) 【提示:在编程之前,需先根据题意列出方程, 如: 设鸡翁x 只,鸡母y 只,鸡雏z 只
则有下列方程: x+y+z=100 和 5x+3y+z/3=100
因为2个方程,3个未知数,故为不定方程,需用穷举法解题。

运行结果:
x=0⋃⋃⋃ y=25⋃⋃z=75⋃⋃ x=4⋃⋃⋃ y=18⋃⋃z=78⋃⋃
x=8⋃⋃⋃ y=11⋃⋃z=81⋃⋃
x=12⋃⋃ y=4⋃⋃⋃z=84⋃⋃
】 参考解答: 1、~2、略 3、
#include <stdio.h> void main( ) {
int x, I, k;
printf(“请输入一个正整数:”); scanf("%d", &x); k=x/2; while ( i <=k ) {
if( x%i ==0 ) break; }
if ( i>k ) {
printf(“%d is \n”, x);
}
⋅⋅⋅⋅⋅⋅+⋅⋅⋅+⋅⋅+⋅++=9
4
73523173523152313112π
else
{
printf("%d is not\n", x);
}
}
4、
#include <stdio.h>
void main( )
{
int x, n=0,s;
printf("请输入一个正整数(1~32767):");
scanf("%d", &x);
s=x;
while ( s !=0 )
{
n++;
s=s/10;
}
printf("%d是%d位数\n",x,n);
}
附加1:

附加2:
#include <stdio.h>
void main( )
{
double pi=0.0, t=1.0;
int n;
for ( n=1; t>=1e-6; n++ )
{
pi += t;
t = n*t/(2*n+1);
}
printf("pi=%f\n", 2.0* pi );
}
3、#include <stdio.h>
void main( )
{
int x,y,z; /*x-公鸡数,y-母鸡数,z小鸡数*/ for( x=0; x<=20; x++ )
{
for(y=0; y<=33; y++)
{
z=100-x-y;
if( (z%3==0) && (5*x+3*y+z/3==100 ))
{
printf("x=%-4dy=%-4dz=%-4d\n", x, y,z);
}
}
}
}。

相关文档
最新文档