实验四_循环结构程序设计

合集下载

实验四 循环结构程序设计

实验四  循环结构程序设计
/* 求最大公约数算法1 */
#include "stdio.h"
void main( )
{
}
2.从整数1开始向上找,直至m和n中较小的数,每找到一个能同时被m和n整除的整数,将其存入一个变量中,当循环结束时,变量中存放的即为最大公约数。设n为m和n中较小的数,则如下程序段可实现:
for(k=1; k<=n; k++) if(m%k==0 && n%k==0) x=k;
}
2.字符常量’0’与数值常量0是不同的。
(六)下面程序的功能是:计算1到100之间的奇数之和及偶数之和,并输出。请在程序中的横线上填入适当的内容,将程序补充完整并运行。
/* c4-6.c */
/* 计算1到100之间的奇数之和及偶数之和 */
#include "stdio.h"
void main( )
六、思考题
(一)求两个正整数x和y的最大公约数,请填空。
/* 求最大公约数程序 */
#include "stdio.h"
void main( )
{ int x,y,t,i;
printf("请输入两个数:");
scanf("%d,%d",&x,&y); /*注意scanf语句中间用“,”隔开*/
if(x > y){t = x; x = y; y = t;}
程序的基本结构如下:
/* c4-9.c */
/* 按条件求数列和 */
#include "stdio.h"
void main( )
{定义变量;
变量赋初值;

电大专科c++实验四循环结构程序设计

电大专科c++实验四循环结构程序设计
2.掌握使用do-while循环语句编写应用程序及其编写技巧.
3.掌握使用for循环语句编写应用程序及其编写技巧.
4.掌握使用break语句及循环语句编写应用程序及其编写技巧.
5.掌握使用continue语句及循环语句编写应用程序及其编写技巧
二、实验要求
能够编写一些有实际应用意义的循环结构的程序
三、实验内容(要求:针对实验案例的每项工作,撰写完成实验的步骤)
#include
Void mian()
{ int x,y,z,num,num1;
For(x=1;x<101;x++)
For(z=1;z<101;z++)
{ num=x+y+z;
Num1=5*x+3*y+z/3.0;
If(num==100&& num1==100)
Cout<<"公鸡="<<X<<",母鸡="<<Y<<",鸡雏="<<Z<<"ENDL;
1.用近似公式∏/4≈1-1/3+1/5-1/7+1/9-1/11+…,计算∏的近似值,要求最后一项小于10-6即可.#include# Nhomakorabeanclude
Void maid()
{ float n,t,pi;int s;
T=1.0;pi=0.0;n=1.0;s=1;
While(favs(t)>=1e-6)
{ pi+=t;
n+=2;
s=-s;
t=s/n;
}

Python程序设计实验报告四循环结构程序设计

Python程序设计实验报告四循环结构程序设计

Python程序设计实验报告四循环结构程序设计实验报告四:循环结构程序设计实验目的:通过本实验,学生将学会使用Python编程语言中的循环结构来设计和实现程序。

实验内容:1. 了解循环结构的概念和基本语法;2. 熟悉Python中的三种循环结构:for循环、while循环和嵌套循环;3. 设计并实现使用循环结构的程序;4. 调试和运行程序,验证程序的正确性。

实验步骤:1. 确定实验题目和要求;2. 分析问题,确定所需的循环类型和循环变量;3. 根据循环类型和循环变量,编写循环结构的代码;4. 调试代码,确保程序的正确性;5. 运行程序,观察程序输出结果是否符合实验要求;6. 如果结果不正确,根据错误信息进行修改,重新运行程序;7. 记录实验结果和对程序的修改;8. 完成实验报告,并附上程序代码。

实验示例:下面是一个使用循环结构的Python程序设计示例,旨在计算并输出1到100之间所有偶数的和。

```python# 循环结构程序设计示例# 计算1到100之间所有偶数的和sum_even = 0 # 用于存储偶数的和for i in range(1, 101):if i % 2 == 0:sum_even += iprint("1到100之间所有偶数的和为:" + str(sum_even))```在上述示例中,我们使用了for循环结构来遍历1到100之间的所有数字。

通过判断每个数字是否为偶数,我们累加所有偶数的和,并最终输出结果。

结论:通过本次实验,我们学会了使用Python的循环结构来设计和实现程序。

循环结构是程序设计中非常重要的一种结构,可以帮助我们处理大量的重复操作,提高程序的效率。

在实际编程中,我们需要根据问题的需求,选择合适的循环类型和循环变量,并合理地设计和调试程序。

通过不断练习和实践,我们将进一步提升自己的编程能力。

程序设计基础(C语言)实验报告

程序设计基础(C语言)实验报告

程序设计基础(C语言)实验报告课程名称:程序设计基础(C语言)姓名:学号:年级:专业:指导教师:实验地点:目录实验一顺序结构程序设计实验二选择结构程序设计实验三循环结构程序设计实验四数组及其应用实验五函数及其应用实验六指针及其应用实验(一)顺序结构程序设计一、实验目的1.掌握顺序结构程序的设计思想,领会顺序结构的程序执行时顺次执行的特点。

2.掌握赋值语句的特点、功能。

3.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。

4.掌握编写程序和调试程序的方法。

二、实验内容及要求1.用下面的scanf函数输入数据使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。

#include <stdio.h>int main(){int a,b;float x,y;char c1,c2;scanf("a=%db=%d",&a,&b);scanf("%f%e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%.1f,y=%.2f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return 0;}运行时分别按以下方式输入数据,观察输出结果,分析原因(□表示空格,↙表示回车)。

(1)a=3,b=7,x=8.5,y=71.82,A,a↙(2)a=3□b=7□x=8.5□y=71.82□A□a↙(3)a=3□b=7□8.5□71.82□A□a↙(4)a=3□b=7□8.5□71.82Aa↙(5)3□7□8.5□71.82Aa↙(6)a=3□b=7↙8.5□71.82↙A↙a↙(7)a=3□b=7↙8.5□71.82↙Aa↙(8)a=3□b=7↙8.5□71.82Aa↙通过此题,总结输入数据的规律和容易出错的地方。

实验报告4

实验报告4

实验四:循环结构程序设计班级:学生姓名:学号:一、实验目的1、理解循环的概念2、理解并掌握循环结构相关语句的含义、格式及使用3、学会循环的应用及控制,包括:①掌握使用循环输入多个数据的方法②掌握在多个数据中有选择地输出数据的方法③掌握在多个数据中对某种数据进行计数的方法④掌握求多个数据中最大值、最小值的方法⑤掌握使用break、continue语句终止循环4、掌握循环的嵌套二、知识要点1、循环变量、循环条件、循环体的概念2、三种循环语句的一般格式、执行过程3、理解选择结构与循环结构中“条件表达式”之不同含义4、二重循环的执行过程三、实验预习(要求做实验前完成)1、循环变量的主要用途是:2、用循环求多个数的和之前,先要把和的初始值赋为:3、用循环求多个数的乘积之前,先要把乘积的初始值赋为:4、字符变量能否作为循环变量?5、循环过程中,如果循环条件成立,但需要结束循环,可采用什么办法?6、什么叫循环的嵌套?四、实验内容(要求提供:①算法描述或流程图②源程序)1. 编程,利用循环计算以下表达式的值:(5+52)*(4+42)*(3+32)*(2+22)*(1+12)*(1/2+1/3+1/4+1/5)(for循环)include <stdio.h>#include <stdlib.h>int main(){int a;double sum=1,sum1=0;for(a=1;a<=5;a++)sum=sum*(a+a*a);printf("结果为%lf\n",sum);for(a=2;a<=5;a++)sum1=sum1+(1.0/a);printf("%lf\n",sum1);printf("结果为%lf\n",sum*sum1);return 0;}2. 编程,从键盘输入若干个整数,当输入0时,输入停止。

实验结论循环结构程序设计

实验结论循环结构程序设计

实验结论循环结构程序设计一、引言二、实验目的三、实验原理1.循环结构的概念2.循环结构的分类3.循环结构程序设计的基本原则四、实验步骤1.确定循环次数和循环条件2.选择合适的循环结构语句3.编写循环体语句五、实验结果分析六、结论与讨论引言:编程是计算机科学中非常重要的一部分,而程序设计中常用到的循环结构也是非常重要的一种控制流程方式。

本文将介绍如何进行循环结构程序设计,并给出相应实验结果及分析。

实验目的:通过本次实验,我们将学会如何使用不同类型的循环结构来控制程序流程,并能够编写简单而有效的程序。

实验原理:1. 循环结构的概念:在程序运行过程中,为了重复执行某些操作或者根据特定条件反复执行某些操作,需要使用到循环结构。

2. 循环结构的分类:常见的有while循环、do-while循环和for循环。

3. 循环结构程序设计基本原则:确定好需要重复执行多少次或在什么情况下需要重复执行,选择合适的循环结构语句,编写循环体语句。

实验步骤:1. 确定循环次数和循环条件:在程序设计之前,需要明确需要重复执行多少次或在什么情况下需要重复执行。

2. 选择合适的循环结构语句:根据确定好的循环次数和循环条件,选择while、do-while或for等不同类型的循环结构语句。

3. 编写循环体语句:在循环结构中,需要编写具体的操作语句来实现所需功能。

实验结果分析:通过本次实验,我们可以发现,在程序设计中使用不同类型的循环结构可以有效地控制程序流程,并且能够编写出简单而有效的程序。

同时,在实际应用中也需要根据具体需求来选择合适的循环结构类型以及确定好相应的循环次数和条件。

结论与讨论:通过本次实验,我们深入了解了循环结构程序设计,并掌握了相应技能。

在今后的学习和工作中,我们将继续深入研究相关知识,并且不断提高自己在编程方面的能力。

matlab实验4_循环结构程序设计_参考解答

matlab实验4_循环结构程序设计_参考解答

高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
实验四:循环结构程序设计
clear all; close all; clc; y=0; n=1; while y<3
y=y+1/(2*n-1); n=n+1; end n=n-1; y=y-1/(2*n-1) n=n-1
运行结果:
y= 2.9944
x1=a/(b+x0); y=abs(x1-x0); x0=x1;
MATLAB 语言
3
WangChengyou © 山东大学威海分校
高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
实验四:循环结构程序设计
n=n+1; end x1 r1=(-b+sqrt(b^2+4*a))/2 r2=(-b-sqrt(b^2+4*a))/2
clear all; close all; clc; prime=[]; for n=2:49
x=n*(n+1)-1; signx=0; for k=2:sqrt(x)
MATLAB 语言
5
WangChengyou © 山东大学威海分校
高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
根据
π2 6
=1 12
+
1 22
+1 32
+"+
1 n2
,求 π 的近似值。当
n
分别取
100、1000、10000
时,
结果是多少?
要求:分别用循环结构和向量运算(使用 sum 函数)来实现。 答:程序设计:
(1) 循环结构

C语言实验报告 实验四 参考答案

C语言实验报告 实验四  参考答案

实验四循环结构程序设计2(参考答案)(1)编写程序sy4-1.c,输入n,计算并输出如下多项式的值:S n=1+1/2!+1/3!+1/4!+…+1/n!。

例如输入n为15时,输出1.718282。

算法分析:第一项可以看成1/1!,用循环控制累加n个分式,分式的分母是i!,分子固定为1。

参考答案:# include <stdio.h>void main(){double s=0,p=1;int i,n;scanf("%d",&n);for(i=1;i<=n;i++){p = p * i ; //计算分母i!s = s + 1 / p ; //累加}printf("s=%lf\n",s);}运行结果:(2)编写程序sy4-2.c,输入n,根据以下公式计算s:,例如当n=11时,结果为1.833333。

算法分析:该多项式的分母是累加。

参考答案:# include <stdio.h>void main(){double sn=0,s=0;int i,n;scanf("%d",&n);for(i=1;i<=n;i++){s = s + i ; //计算分母1~i的累加和sn = sn + 1 / s ;}printf("sn=%lf\n",sn);}运行结果:(3)编写程序sy4-3.c,计算3~n之间所有素数的平方根之和,要求:输入n,输出结果。

例如,输入n 的值是100,则输出结果是148.874270。

注意n应在2~100之间。

算法分析:穷举3~n之间的数找素数,若是素数则累加她的平方根。

参考答案:# include <stdio.h># include <math.h>void main(){int i,j,n,flag;double s=0;scanf("%d",&n);for(i=3;i<n;i++) //穷举3~n之间找素数{flag=1; //假设当前的i是素数,标志变量设为1for(j=2;j<i;j++) //穷举要判断是否是素数的i的除数,范围2~i-1if(i%j==0) //若i能被j整除,则不是素数{ flag=0; break; } //标志变量改为0,并终止循环if( flag == 1 )s = s + sqrt( i ); //若i是素数,则累加sqrt(i)}printf("s=%f\n",s);}运行结果:(4)编写程序sy4-4.c,根据以下公式求p的值,(m与n为两个正整数且m>n)。

项目04 循环结构程序设计

项目04 循环结构程序设计

while语句和do„while语句。本章是程序设计的重点内容,
重点培养读者的逻辑思维能力和程序编写基本能力。要求读 者能理解循环结构的工作过程,并且能用循环语句解决
项目四
循环结构程序设计
实际问题,提高编程能力。
【学习目标】
(1) 掌握for语句、while语句和do„while语句的使用。 (2) 掌握break语句和continue语句的使用。 (3) 能够利用循环语句解决实际问题。
所有商品的总价格;收银员每扫描一次,也就是把该商品的
价格输入给x,然后把x的值转移加入到s盒子里,重复操作, 直到收银员按回车键,在这里用“0”代表回车;最后输出s 盒子中的值,就可得到所有商品的总价格。
第一部分
任 务 学 习
【解决方案】
#include<stdio.h> void main() { float x,s=0;
注:从上面的说明可以看出,C语言的for语句功能强大,
使用灵活,可以把循环体和一些与循环控制无关的操作也都 作为表达式出现,程序短小简洁。但是,如果过分使用
(3) 循环。这样的语句一直重复写到h满足题目要求为
止。 程序代码如下:
第一部分
任 务 学 习
#include<stdio.h> void main() { double h=0.1; int n=0; /*n用来累计对折次数*/ while(h<=8848180) { h=h*2;
n=n+1;
} printf("对折次数为:%d,此时厚度:%.2f\n",n-1,h/2);
第一部分
一、while语句 二、for语句
任 务 学 习

《Python程序设计》Python循环结构实验报告

《Python程序设计》Python循环结构实验报告

《Python程序设计》Python循环结构实验报告三、实验过程与结论:(经调试正确的源程序(核心部分)和程序的运行结果)1编写程序,输出九九乘法表;代码实现:for i in range(1,10):for j in range(1,i+1):print("{}*{}={:<3}".format(j,i,i*j),end="")print("")结果截图:2.编写程序,利用for循环计算1+2!+3!+˙˙˙+10!的结果;代码实现:s=0t=1for i in range(1,11):t=t*is=s+tprint("运算结果是:{}".format(s))结果截图;3.编写程序,利用for循环打印倒立的三角形代码实现:for w in range(1,10):print(" "*(15-w),end="")for y in range(1,2*w):print("*",end="")print()结果截图:4.编写程序,利用for循环计算1-100的偶数累加和;代码实现:n=100sum=0for i in range(int(n/2)):i=i*2+2sum=sum+iprint("1到100的偶数之和为:",sum)结果截图:5.编写程序,利用while循环打印平行四边形。

代码实现:i=1w=eval(input("请输入行数:")) v=eval(input("请输入列数:")) while i<=w:j=1while j<=i-1:print(" ",end="")j+=1j=1while j<=v:print("*",end="")j+=1print()i=i+1结果截图;。

C语言循环结构程序设计实验报告

C语言循环结构程序设计实验报告
运行结果:1!+2!+3!+.+25!=1.61587e+25
while语句:
main()
{ float n=1,s=0,t=1;
while(n<=25)
{ t=t*n;
s=s+t;
n++;
}
printf(“1!+2!+3!+…+25!=%e\n”,s);
}
do-while语句:
main()
{ float n=1,s=0,t=1;
(3)计算并输出Σ(2n+1)超过1000的第一个n值。
n=1
main()
{ int n=1,sum=0;
for(; ; n++) sum=sum+(2*n+1);
if(sum>2000) break;
printf(“n=%d,sum=%d\n”,n,sum);
}
if(sum>1000)break;for中的表达式2不能省去
while语句do-while语句
#include<stdio.h>#include<stdio.h>
void main() void main()
{{
int i=1,sum=0; int i=1,sum=0;
while(i<=100) do
{ {
sum=sum+i; sum=sum+i;
i++;i++;
5.某班有学生n人,从终端读入n及n个人学生的成绩,试编程实现以下功能:
①印出前3个最好成绩及取得每个最好成绩的人数;

MATLAB实验四 选择结构和循环结构程序设计

MATLAB实验四 选择结构和循环结构程序设计

实验四 选择结构和循环结构程序设计实验目的:1.掌握建立和执行M 文件的方法 2.掌握利用if 语句实现选择结构的方法 3.掌握利用switch 语句实现多分支选择结构的方法 4.掌握利用for 语句实现循环结构的方法 5.掌握利用while 语句实现循环结构的方法 6. 熟悉利用向量运算来代替循环操作的方法实验内容:1. 求分段函数的值。

3及2其它,1x 且50,653且0,6222≠⎪⎩⎪⎨⎧--≠<≤+--≠<-+=x x x x x x x x x x y用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。

x=input('请输入x 的值:x=');if(x<0&x~=-3)y=x.*x+x-6elseif(x>=0&x<5&x~=2&x~=3)y=x.*x-5.*x+6elsey=x.*x-x-1end请输入x 的值:x=[-5.0 -3.0 1.0 2.0 2.5 3.0 5.0]y =29.0000 11.0000 -1.0000 1.0000 2.7500 5.0000 19.00002. 输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。

其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。

要求:a) 分别用if 语句和switch 语句实现。

If 语句x=input('请输入分数:')if(x<=100&x>=90)disp('A')elseif(x>=80&x<=89)disp('B')elseif(x>=70&x<=79)disp('C')elseif(x>=60&x<=69)disp('D')elseif(x<60)disp('E')end请输入分数:95x =95Aswitch语句c=input('请输入分数:')switch ccase num2cell(90:100)disp('A')case num2cell(80:89)disp('B')case num2cell(70:79)disp('C')case num2cell(60:69)disp('D')case num2cell(0:59)disp('E')end请输入分数:83c =83Bb)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

程序循环结构实验报告(3篇)

程序循环结构实验报告(3篇)

第1篇实验名称:程序循环结构实验实验日期:2023年4月10日实验地点:计算机实验室实验目的:1. 理解循环结构在程序设计中的作用。

2. 掌握不同循环结构(如for循环、while循环、do-while循环)的语法和应用。

3. 能够根据实际问题选择合适的循环结构进行编程实现。

4. 提高编程实践能力。

实验环境:1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm实验内容:一、实验一:for循环结构1. 实验目的了解for循环的语法和使用方法,掌握其基本操作。

2. 实验步骤(1)编写一个程序,使用for循环打印1到10的整数。

(2)编写一个程序,使用for循环计算1到100的整数之和。

3. 实验代码```python打印1到10的整数for i in range(1, 11):print(i)计算1到100的整数之和sum = 0for i in range(1, 101):sum += iprint("1到100的整数之和为:", sum)```4. 实验结果程序成功运行,打印出1到10的整数和1到100的整数之和。

二、实验二:while循环结构1. 实验目的了解while循环的语法和使用方法,掌握其基本操作。

2. 实验步骤(1)编写一个程序,使用while循环计算1到10的整数之和。

(2)编写一个程序,使用while循环判断一个数是否为素数。

3. 实验代码```python计算1到10的整数之和sum = 0i = 1while i <= 10:sum += ii += 1print("1到10的整数之和为:", sum)判断一个数是否为素数num = 29is_prime = Truei = 2while i i <= num:if num % i == 0:is_prime = Falsebreaki += 1if is_prime:print(num, "是素数")else:print(num, "不是素数")```4. 实验结果程序成功运行,打印出1到10的整数之和以及29是否为素数。

程序设计基础实验报告4-循环结构

程序设计基础实验报告4-循环结构

程序设计基础实验指导及实验报告专业班级:学号:姓名:时间:指导老师:魏银珍实验四循环结构程序设计一、实验目的1.熟练掌握三种循环语句的应用。

2.熟练掌握循环结构的嵌套。

3.掌握break和continue语句的使用。

4.练习调试与修改程序。

二、实验内容1、读下面程序并运行,结果是什么?2、读下面程序并运行,改正其中的错误。

main( ) main( ){{int m, k ,I , n =0; int s ;for(m=101;m<=200;m=m+2) float n ,t ,pi ;{ t=1 ;pi=0 ;n=1.0 ;s=-1 ;k=sqrt(m) ; while(fabs(t)>1e+6)for(i=2;i<=k; i++) {pi=pi+t ;if(m%i= =0)break; n=n+2 ;if(i>=k+1) s=-s ;{ t=s/n ;printf(“%d”,m); }n=n+1; pi=pi*4 ;} printf(“pi=%10.6d\n”, pi);if(n%10= =0)printf(“\n”); }}printf(“\n”);}3.用while语句、do-while语句编写程序,计算e≈1+1/1!+1/2!+...+1/n!。

使误差小于给定的ε=10-5。

输出e和总的项数n。

4、如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。

例如6的因子是1,2,3,且6=1+2+3,因此6是完数。

编写程序找出1000之内的所有完数及这些完数的和。

5.输入并运行下面的程序,观察程序的运行结果。

#include"stdio.h"main( ){int n;while (1){printf("Enter a number:");scanf("%d",&n);if (n%2==1){printf("I said");continue;}break;}printf("Thanks. I needed that!");6. 打印九九乘法表,用for语句实现1X1=11X2=2 2X2=4……1X9=9 …… 9X9=81教材 6.6,6.147. 5.提高题:打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。

实验四 循环结构程序设计

实验四 循环结构程序设计

。 #include<stdio.h>
int main() { char c; int letters=0,space=0,digit=0,other=0; printf("请输入一行字符:\n"); while((c=getchar())!='\n') { if(c>='a'&&c<='z'||c>='A'&&c<='z') letters++; else if(c==' ') space++; else other++; } printf("字母数:%d\n空格数:%d\n其它字符 数:%d\n",letters,space,digit,other); return 0; }
河南工业大学 C语言实验报告
实验题目:循环结构程序设计 实验目的:熟练掌握while,do—while及for语句的格式、执行过程及循 环嵌套的使用 实验内容:P140-141 习题3,4,6,8 实验步骤:(具体程序及运行结果) #include<stdio.h> int main() { int p,r,n,m,temp; printf("请输入两个正整数 n,m:"); scanf("%d,%d,",&n,&m); if(n<m) { temp=n; n=m; m=temp; } p=n*m; while(m!=0) { r=n%m; n=m; m=r; } printf("它们的最大公约当数为: %d\n",n); printf("它们的最小公倍当数为: %d\n",p/n); return 0; }

4.VB实验四(无答案) 循环结构(1)

4.VB实验四(无答案) 循环结构(1)

循环结构
Do循环基本结构如下: Do循环基本结构如下: 循环基本结构如下 Do Dim i%, sum% 循环体 sum = 0 i=1 Loop
Do 最简单的Do循环 循环, 最简单的Do循环, sum = sum + i 没有循环控制条 i=i+1 件,所以在循环 If i > 100 Then Exit Do 体中要使用Exit 体中要使用Exit Loop Do跳出循环 Do跳出循环 Print "1+2+...+100="; sum
循环结构
Do While循环结构语法格式如下: While循环结构语法格式如下 循环结构语法格式如下: Do While 条件 Dim i%, sum% 循环体 sum = 0 Loop i=1 先判断条件, 先判断条件, 条件成立时, 条件成立时, 反复执行循环 体
Do While i <= 100 sum = sum + i i=i+1 Loop Print "1+2+...+100="; sum
计算: 其中X,N由文本框输入,计算结果显示在 文本框中.
X X X X S = 1+ + + + ... + 2! 4! 6! (2 N )!
2
3
N
代码
题目8 题目8
计算: 1+1×3+1×3×5+……+1×3×……(2N+1) 其中N由InputBox函数或文本框输入,计算结 果显示在窗体上.
题目4 题目4
编程计算n!. 的值用inputbox函数输入 编程计算n!.n的值用inputbox函数输入. 函数输入. 结果在窗体上显示. 结果在窗体上显示.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
穷举法在程序设计中,主要采用循环语句和选择语句,循环语句用于控制穷举所有可能的情况,也可以说是对所有可能进行验证的范围,而选择语句判断当前设定的条件是否满足的状态解。
采用穷举法编程实现判断整数m是否是素数。程序设计的循环语句控制验证范围,1到m-1。选择语句的条件就是判断该数能否被1到m-1的数整除,若验证有一个数能整除该数,就立刻中断循环退出验证过程。
{
scanf("%d",&a);
if (max<a) max=a;
i++; /*i为循环控制变量,统计输入数的个数*/
}
printf("The max value is:%d\n",max);
}
编写源程序三,程序文件名ex4_12.c:
#include<stdio.h>
void main()
{
int a,max,i;
do
循环体语句
while(条件表达式);
do-while循环语句的执行过程:
S1:执行循环体语句;
S2:计算条件表达式的值,并判断其值是真值(非0值),还是假值(0值),若为真值,返回执行步骤S1,否则执行步骤S3;
S3:退出循环,执行do-while语句的后继语句。
循环结构在程序设计时,需清楚四个部分,循环控制变量的初值、循环条件的判断、循环体语句(需要重复操作的语句)和改变循环控制变量的变化值。
printf("%f ",sum);
}
输入测试数据:20
程序运行结果:s=0.583333
小结:
1.求满足能被5或9整除的所有自然数的条件表达式:i%5==0||i%9==0
2.求分数之和时,一定要考虑整型除整型的情况。源程序中变量i为整型,所以倒数1/i,在具体编程时可处理为1.0/i或1/(float)i的形式。
2.无论何种循环语句,其执行特点是:循环条件为真,继续执行循环体,循环条件为假,退出循环。
【4.2】编程实现,判断一个正整数是否是素数,若是输出“YES”,否则输出“No”。程序文件名ex4_2.c。
分析:所谓素数(质数)就是除1和它本身之外没有其他因子的数。换句话说只能被1和它本身整除的数就是素数(质数)。
小结:
1.验证m是否是素数的范围:2到m-1或2到m/2或2到 。
2.在验证过程中,当有一个数能整除数m,则其后的数就不必验证,可由break语句中断该循环。
3.break语句只能用在switch语句和循环语句,在循环语句中使用break语句时,通常和if语句连用,其含义是满足某个条件时,退出循环。
分析:本题的关键问题之一,如何判断一个字符是小写字母还是大写字母,或者是数值字符等。
关键问题之二,如何实现大小写字母的转换。
关键问题之三,如何用getchar()实现从键盘输入任意一串字符。
前两个问题在实验三中已谈过,本次实验解决问题三。字符输入函数getchar()每次只能输入一个字符,换句话,每次只能从键盘接收一个字符,若要接收一串字符,需采用循环语句。
else
if(c>='A'&&c<='Z')
c=c+32;
putchar (c);
}
}
输入测试数据:ABCd#$GTabc23
程序运行结果:abcD#$gtABC23
小结:
1.循环条件表达式(c=getchar())!='\n',依据运算符的优先级,圆括号最优先,先运算c=getchar(),从键盘上接收一个字符,赋予变量c,然后再判断变量c的值是否不等于'\n',若是条件为真,执行循环体,否则退出循环。
elseprintf("NO\n");
【4.3】编程实现:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。程序文件名ex4_3.c。
分析:本程序的关键问题求和,则采用累加算法,该算法采用循环结构。
算法思想,引入一个和变量sum,一个加数变量b,求和表达式为,sum=sum+b;累加算法就是重复执行求和表达式sum=sum+b的过程。细化问题,该求和表达式要执行多少次,或满足何条件就不再执行;每次执行时b如何变化。
for循环语句的执行过程:
S1:计算表达式1的值;
S2:计算表达式2的值,并判断其值是真值(非0值),还是假值(0值)。若为真值,执行步骤S3,反之执行步骤S5;
S3:执行循环体语句;
S4:计算表达式3的值;返回步骤S2;
S5:结束循环(退出循环);继续执行for语句之后的后继语句。
2.while循环语句,它的一般格式:
while (条件表达式)
循环体语句
while循环语句的执行过程:
S1:计算条件表达式的值,并判断其值是真值(非0值),还是假值(0值),若为真值,执行步骤S2,否则执行步骤S4。
S2:执行循环体;
S3:返回S1;
S4:退出循环,执行while语句的后继语句。
3.do-while循环语句,它的一般格式:
【4.1】编程实现,从键盘输入10个整数,求出它们的最大数。程序文件名ex4_1.c。
分析:在上次实验,编程实现了求两个整数的最大数,现将问题扩展到20个数,算法思想是一样的。
求任意n个整数的最大(小)数的常用算法:
定义两个变量,一个变量max(min)存放最大(小)数,另一个变量a存放输入的一个整数。
由此循环语句退出,一种可能是所有的可能都验证完退出,即从2到m-1的所有数都验证完,没有一个数能整除数m,其结论是数m是素数;另一种可能是其中一个数能整除该数,则循环语句中断退出,其结论是数m不是素数。
#include <stdio.h>
void main( )
{
int m,i;
printf("Please enter a integer\n");
具体问题具体分析。由题意,求自然数的倒数之和,倒数可考虑为1/i。循环次数为n。
#include <stdio.h>
voidmain( )
{
int i,n;
float sum=0.0;
scanf("%d",&n);
for(i=1;i<=n;i++)
if(i%5==0||i%9==0)
sum+=1.0/i;
实验四程序设计-循环结构程序设计
4.1
1.理解循环条件、循环体以及循环的执行过程
2.掌握及正确使用for、while和do-while语句实现循环程序设计
3.掌握break,continue语句正确使用
4.掌握双循环结构的程序设计
5.掌握相关算法(累加、素数、最值、穷举法等)
4.2
结构化程序设计的三大结构:顺序结构、选择结构和循环结构。
#include<stdio.h>
void main()
{
int a,max,i;
scanf("%d",&a);
max=a; /*将输入的第一个数作为最大数*/
for(i=1;i<10;i++) /*循环9次*/
{
scanf("%d",&a);/*输入待比较的数*/
if (max<a) max=a;/*输入的数与max的值进行比较*/
解决的两个关键问题:
1.max的初值如何给定?常采用的方法是,把输入的第一个数赋给max变量。
2.采用循环结构时,如何控制循环次数?因要从10个数中求最大值,但第一数已赋给max,因此max与剩下的9个数进行比较,所以循环9次。
本题已确定了循环次数,通常采用for循环语句。
编写源程序一,程序文件名ex4_1.c。
在实际生活中常说重复执行某项工作多次,或重复执行某项工作,达到某种要求为止。如果需要重复执行某些操作,在程序设计就要用到循环结构。
C语言中提供了三种循环语句:for语句、while语句和do-while语句。
1.for语句是常用的一种循环语句,它的一般格式:
for(表达式1;表达式2;表达式3)
循环体语句
4.当循环退出时,循环控制变量i的值,决定了数m到底是不是素数。当i<m时,说明执行循环体时由break语句中断而退出循环,即m能被i整除,m不是素数,反之,当i>=m时,m是素数。
5.选择结构if-else可以有多种变数,程序并非唯一的。
如,if-else也可修改为:
if(i>=m)printf("YES\n");
}
程序运行结果:1!+2!+...+10!=4037913
小结:
1. 由于求阶乘的整数值比较大,所以数据类型常用长整型。
2. 采用递推算法时,一定有注意初始值的给定。
【4.5】编程实现,从键盘输入任意一串字符,以回车键结束。该字符串中的字符若是小写字母转换为大写字母,若是大写字母转换为小写字母,其它字符原样输出。程序文件名ex4_5.c。
假设变量t表示项,t的初始值为1,则第n项的表达式为:t=t*n。
递推算法,采用循环语句。
#include <stdio.h>
void main()
{
long i,n,sum=0,t=1;
for(i=1;i<=10;i++)
{
t=t*i;
sum=sum+t;
}
printf("1!+2!+...+l0!=%ld",n,sum);
scanf("%d",&m);
相关文档
最新文档