实验四循环结构大全语言程序设计实验报告

合集下载

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

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

循环结构程序设计(C语言实验报告)实验目的:1. 掌握循环结构程序设计流程2. 熟悉while、do-while和for循环语句的使用3. 掌握循环语句的嵌套应用实验原理:循环结构是一种非常重要的程序设计结构,其目的是为了让程序可以重复执行一段代码块,从而达到省去大量代码重复编写的目的,也可以是让程序能够按照用户的需求反复执行一段代码块。

在C语言中,常用的循环结构有while、do-while和for三种,这三种循环语句的基本语法结构是:while(循环条件){循环体语句;}其中,while循环和do-while循环的区别在于:while循环条件成立时,不一定会执行一次循环体,但do-while循环条件成立时,会先执行一次循环体,然后判断循环条件是否成立;至于for循环,则是将循环条件、循环初值和循环增量三个要素集成在一起,使用比较方便。

另外,循环结构也可以进行嵌套应用,即在循环体内部再嵌套一个循环,这样可以实现多个变量的循环控制。

应用实例包括如下:1. 打印九九乘法表2. 对一个数组进行排序3. 多重循环实现字谜游戏实验内容:1. while循环:目的是求出1~100的整数和,并在程序运行过程中输出1~100的所有整数。

目的是输入若干个数字,计算它们的平均值。

3. for循环:目的是输入一个数n,求1~n中可以被3或5整除的所有整数和。

4. 循环嵌套:目的是打印九九乘法表。

实验总结:本次实验通过三种常用的循环结构,并结合实例进行学习掌握,同时还熟悉了循环嵌套的应用。

相信这对于日后的程序设计和代码优化应用会非常有帮助。

C程序设计实验报告(实验四 循环结构程序设计)

C程序设计实验报告(实验四  循环结构程序设计)
②输入一个数据后通过进行询问的方式决定是否继续输入下一个数据。
⑵参考程序
参考程序一
/*使用负数作为数据输入结束标志的程序*/
#include "stdio.h"
void main()
{
int m,counter=0;
while(1)
{
}
printf("符合要求的整数个数为: %d\n",counter);
输入16 35 7 –10 96 17 –87 7输出6
输入16 35 7 –10 96 117 –87 267 66输出5
输入17 66778 98765 17 899 -109 87输出34.输Biblioteka 3输出9结果分

(碰到的问题、如何解决、有何体会)
程序结构掌握不熟,有待加强。多做习题,多看书。


}
printf(“s=%d\n”,s);
}
②求n!用一个循环即可实现。
③求1+2!+3!+…+n!的值,需要在求n!程序之外增加一个外重循环。
⑵参考程序
/*求1+2!+3!+…+n!程序*/
⑶程序调试
①输入一个不大的正整数,分析程序执行结果。
②输入一个零或者负数,分析程序执行结果。
③输入一个很大的正整数,分析程序执行结果。
④当程序结果不符合要求时,修改程序,直到对任何输入数据都能输出正确的执行结果,或者给出一个明确的提示信息。例如,当输入数据非法时,给出一个恰当的提示信息。
(主要的源程序代码)
1.#include "stdio.h"
void main()

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的循环结构来设计和实现程序。

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

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

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

实验报告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时,输入停止。

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)。

实验:基本循环语句程序设计(写实验报告)(提交电子作业)

实验:基本循环语句程序设计(写实验报告)(提交电子作业)

实验四: 基本循环语句程序设计
一、实验目的和要求
1. 掌握For语句的使用。

2.掌握while循环语句的使用。

3. 掌握Do{While|Until}…Loop与Do…Loop{While|Until}两种形式的使用。

4.掌握如何控制循环条件, 防止死循环或不循环。

5. 熟练掌握循环条件设置及循环的控制方法。

二、实验内容
题目:
(1)求出1~1000之间所有是7的倍数的整数之和(如7, 14…), 并通过单击命令按钮将这些整数, 以及它们之和输出在窗体上。

程序的运行界面如图所示。

(2)实训指导书P41中实训5.5
三、实验步骤
1. 程序的界面设计
备注: 学生将程序界面设计画出来
2. 对象属性设置.
属性设置画出来
3. 程序主要代码。

备注: 学生将程序代码写出来
4. 运行结果。

四、实验总结(可以从以下几个方面来总结: 你在编程过程中花时多少?时间是怎么分配的?多少时间在思考问题?遇到了哪些难题?你是怎么克服的?你对你的程序的评价?你的收获有哪些?)。

循环结构的实验报告

循环结构的实验报告

一、实验目的1. 理解循环结构的原理和特点。

2. 掌握C语言中while、do...while和for循环语句的使用方法。

3. 学会运用循环结构解决实际问题。

二、实验环境1. 编程语言:C语言2. 编程工具:Visual Studio Code3. 操作系统:Windows 10三、实验内容1. 实验一:计算1至100之间所有整数的和实验目的:掌握while循环语句的使用方法。

实验步骤:(1)定义变量sum用于存储和,初始化为0。

(2)使用while循环语句遍历1至100之间的整数,将每个整数累加到sum变量中。

(3)输出最终的和。

实验代码:```c#include <stdio.h>int main() {int sum = 0, i = 1;while (i <= 100) {sum += i;i++;}printf("1至100之间所有整数的和为:%d\n", sum);return 0;}```2. 实验二:计算1至100之间所有偶数的和实验目的:掌握do...while循环语句的使用方法。

实验步骤:(1)定义变量sum用于存储和,初始化为0。

(2)定义变量i,初始化为1。

(3)使用do...while循环语句遍历1至100之间的整数,当i为偶数时,将其累加到sum变量中。

(4)输出最终的和。

实验代码:```c#include <stdio.h>int main() {int sum = 0, i = 1;do {if (i % 2 == 0) {sum += i;}i++;} while (i <= 100);printf("1至100之间所有偶数的和为:%d\n", sum);return 0;}```3. 实验三:计算1至100之间所有素数的和实验目的:掌握for循环语句的使用方法。

实验步骤:(1)定义变量sum用于存储和,初始化为0。

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

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

Python程序设计实验报告四:循环结构程序设计班级:物流191姓名:柳梦辉学号: 3190505126⽇期: 2020年4⽉10⽇指导⽼师:修宇实验四循环结构程序设计(设计型实验⼆学时)【实验⽬的】(1)熟悉⽤while和for语句实现循环的⽅法(2)掌握在程序设计中⽤循环的⽅法实现各种算法;【实验条件】PC机或者远程编程环境【实验内容】(1)计算底数e的值描述:e有时被称为⾃然常数(Natural constant),是⼀个约等于2.71828182845904523536……的⽆理数。

可⽤如下公式求⾃然对数的底数e的近似值。

e=1+1/1!+1/2!+…1/n!可设计循环程序,判断直到最后⼀项绝对值⼩于10的-6次⽅停⽌循环,注意因为计算误差原因,不同⽅法可能稍有区别。

(2)判断⽔仙花数描述:⽔仙花数(Narcissistic number)也被称为超完全数字不变数、⾃恋数、⾃幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),⽔仙花数是指⼀个 3 位数,它的每个位上的数字的 3次幂之和等于它本⾝(例如:1^3 + 5^3+ 3^3 = 153)。

设计循环程序,输⼊⼀个三位整数,判断是否是⽔仙花数,如果是⽔仙花数,则输出“是⽔仙花数”,否则输出“不是⽔仙花数”(3)N的多次⽅描述:编写⼀个程序,计算输⼊数字N的0次⽅到5次⽅结果,并依次输出这6个结果,输出结果间⽤空格分隔。

其中:N是⼀个浮点数。

print()函数可以同时输出多个信息,采⽤如下⽅法可以使⽤空格对多个输出结果进⾏分割:print(3.14, 1024, 2048)【实验记录与分析】(请在填写实验记录与分析结果)【思考题】循环结构中循环的次数取决于什么?1.计算底数e的值分析:运⽤⼀次while循环将底数n! ⽤i+=1代替,然后⽤while进⾏累加即可 print("e= ",e)即可2.判断⽔仙花数分析:题中⽔仙花数定义为,它的每个位上的数字的3次幂之和等于它本⾝。

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

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

湖北工程学院学生实验报告书实验课程名称C语言开课专业经济学大类指导教师姓名邹晶、郭道猛学生姓名学生班级2016学年-2017学年第1学期实验课程名称:C语言试验项目名称实验4循环结构程序设计(一)实验成绩试验者专业班级组别同组者实验目的:(一)掌握用while,do-while,for语句实现循环的方法;(二)掌握在设计条件型循环结构的程序时,如何正确地设定循环条件,以及如何控制循环的次数。

(三)掌握与循环有关的算法。

实验环境:VC++实验内容:见实验报告指导书实验四, 循环结构程序设计(一)试验过程记录1.输入代码:#include<stdio.h>void main (){int p=1, s=0,i;for(i=1;i<=20;i++) 求1!+2!+3!+……+20! */的值{p*=i;s+=p;}printf("sum=%d\n",s);}结果截图:3.输入代码:#include<stdio.h> 求最大公约数void main (){int m,n,b;printf("please input two positive integer:");scanf("%d%d",&m,&n);while(n!=0){b=m%n;m=n;n=b;}printf("theirgreatest common divisor is %d\n",m);}结果截图:5.输入代码:#include<stdio.h>void main (){int n=0, c;c = getchar (); 统计字符串中指定字符个数while (c !='\n'){if(c>='0'&& c<='9') n++;c=getchar ();printf("%d", n);}}结果截图:6.输入代码:#include <stdio.h>void main(){int a , b, c, i , j; 求奇数及偶数之和a=0,b=1,c=0;for(i=0; i<=100; i+=2){ a+=i;b=i;c+=b;}printf("sum of evens is %d\n",a);printf("sum of evens is %d\n",c);}结果截图:7.输入代码:#include "stdio.h"void main(){int a,b,c,j;for(j=100;j<=999;j++) 水仙花数{a=j/100;b=j/10-a*10;c=j-a*100-b*10;if(j==a*a*a+b*b*b+c*c*c)printf("%d\n",j);}}结果截图:8.输入代码:#include "stdio.h"void main(){float x,amax,amin;scanf("%f",&x); 统计输出最高和最低成绩amax=x;amin=x;while(x>=0){if(x>amax)amax=x;if(x<amax)amax=x;scanf("%f",&x);}printf("\namax=%f\namin=%f\n",amax,amin);}结果截图:9.输入代码:#include "stdio.h"void main(){int m,n,i,t;long int s=0; 不能被3和7整除的整数之和scanf("%d%d",&m,&n);if(m>n){t=m;m=n;n=t;}for(i=m;i<=n;i++)if(i%3!=0 &&i%7!=0)s+=i;printf("sum is;%ld\n",s);}结果截图:10.输入代码:#include <stdio.h>void main(){int num,k;k=0;printf("\please enter a number:");scanf("%d",&num); 计算num各位数字之和do{k+=num%10;num/=10;}while(num);printf("\n%d\n",k); }结果截图:。

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

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

一、实验目的1. 掌握循环结构程序设计的基本方法和应用;2. 熟悉C语言、Java语言等编程语言中的循环结构;3. 提高编程能力,学会运用循环结构解决实际问题。

二、实验环境1. 操作系统:Windows 102. 编程语言:C语言、Java语言3. 编译器:Visual Studio、NetBeans三、实验内容1. C语言循环结构程序设计(1)编写一个C语言程序,实现输出1-100的累加和。

```c#include <stdio.h>int main() {int sum = 0;int i;for (i = 1; i <= 100; i++) {sum += i;}printf("1-100的累加和为:%d\n", sum);return 0;}```(2)编写一个C语言程序,实现输出16行杨辉三角。

```c#include <stdio.h>int main() {int arr[16][16];int i, j;for (i = 0; i < 16; i++) {for (j = 0; j <= i; j++) {if (j == 0 || i == j) {arr[i][j] = 1;} else {arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]; }printf("%d ", arr[i][j]);}printf("\n");}return 0;}```2. Java语言循环结构程序设计(1)编写一个Java程序,实现输出1-100的累加和。

```javapublic class Sum {public static void main(String[] args) {int sum = 0;int i;for (i = 1; i <= 100; i++) {sum += i;}System.out.println("1-100的累加和为:" + sum);}}```(2)编写一个Java程序,实现输出16行杨辉三角。

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

C语言循环结构程序设计实验报告
由于沙漠中没有油库必须先用车在沙漠中建立临时加油站该吉普车要以最少的油耗穿越沙漠应在什么地方建立临时油库以及在什么地方安放多少油最好
云南大学数学与统计学实验教学中心
实验报告
课程名称:程序设计和算法语言
学期:2012~2013学年下学期
成绩:
指导教师:
学生姓名:
学生学号
实验名称:循环结构程序设计
实验编号:四
do
{ t=t*n;
s=s+t;
n++;
}
while(n<=25);
printf(“1!+2!+3!+…+25!=%e\n”,s);
}
3指出下面三个程序的功能,当输入“quit?”时,它们的执行结果是什么?
#include<stdio.h>
main()
{ char c;
c=getchar();
while(c!=’?’)
n++;
}
while(fabs((n+1)*(2*n+1))<(1e-004));
printf("n=%d,sum=%f",n,sum);
}
运行结果:
n=2,sum=0.
2.如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,
例如:6的因子为1,2,3,且1+2+3=6,因此6是一个“完数”。
while(i<=10)
{
t=1/i;Βιβλιοθήκη sum=sum+t;
i++;
}
printf("%f\n",sum);
}
【自编程序上机】

程序循环结构实验报告(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-循环结构

程序设计基础实验报告4-循环结构
实验目的
通过本实验,掌握循环语句的使用方法和注意事项,熟悉常见的循环结构及其特点。

实验内容
例1:输出1-100之间的偶数
算法分析:
设置计数器i,i从1开始递增,每次累加1,判断i是否为偶数,如果是,输出i。

C++代码实现:
void printEvenNumbers()
{
for(int i=1; i<=100; i++)
{
if(i % 2 == 0)
cout << i << " ";
}
}
例3:求n!
使用循环结构,设置初始结果res为1,变量i从1到n递增,每次将res累乘i的值。

实验结果
对上述代码进行编译和运行,可以得到以下结果:
printEvenNumbers()
//输出结果:2 4 6 8 10 ... 98 100
factorial(5)
//输出结果:120
通过本次实验,我们学习了循环结构的使用方法和注意事项,了解了for循环、while 循环和do-while循环的特点和应用场景。

在实际编程中,根据具体需求选择不同的循环结构,可以大大提高程序的效率和可读性。

需要注意的是,在编写循环语句时,一定要注意控制循环变量的范围和循环条件的正确性,避免出现死循环或漏掉部分情况的问题。

实验四 循环结构程序设计(2)

实验四  循环结构程序设计(2)

实验四循环结构程序设计(2)一、实验目的1.加深对循环语句的认识。

2.掌握在程序设计中用循环的方法实现各种算法(如枚举法、迭代法、递推法)二、实验内容1.阅读、调试、运行程序,比较阅读的结果和运行的结果。

(1)#include <stdio.h>void main(){ int i=0,a=0;while(i<20){ for(;;){ if((i%10)==0) break;else i--;}i+=11; a+=i;}printf("%d\n",a);}(2)#include <stdio.h>void main(){ int a,y;a=10;y=0;do{ a+=2;y+=a;printf("a=%d y=%d\n",a,y);if (y>20) break;}while (a=14);}(3)输入为“321”时,输出是什么?#include <stdio.h>void main( ){ char c;while ((c=getchar( ))!='\n')switch(c-'1'){ case 0:case 1:putchar(c+2);case 2:putchar(c+3); break;case 3:putchar(c+4);default:putchar(c+1);break;}printf("\n");}(4)#include <stdio.h>void main(){ int i,x,y;i=x=y=0;do{ ++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);printf("x=%d,y=%d\n",x,y);}2. 完善程序,并调试运行(1)在main函数中输入字符串,计算并输出其长度。

程序设计基础实验报告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位数,其各位数字立方之和等于该数本身。

实验4-循环结构

实验4-循环结构

《C语言程序设计》实验报告实验序号:4 实验项目:循环结构1.方法1:用while语句:#include<stdio.h>int main(){int i=1;double sum=0,term,a=2,b=1,c;while(i<=20){term=a/b;sum=sum+term;c=a+b;b=a;a=c;i++;}printf("sum=%.2f\n",sum);return 0;}方法2:用do-while语句:#include<stdio.h>int main(){int i=1;double sum=0,term,a=2,b=1,c; do{term=a/b;sum=sum+term;c=a+b;b=a;a=c;i++;}while(i<=20);printf("sum=%.2f\n",sum); return 0;}方法3:用for语句:#include<stdio.h>int main(){int i;double sum=0,term,a=2,b=1,c; for(i=1;i<=20;i++){term=a/b;sum=sum+term;c=a+b;b=a;a=c;}printf("sum=%.2f\n",sum); return 0;}#include<stdio.h>int main(){int x,y,z,i=0;for(x=1;x<=9;x++)for(y=1;y<=12;y++)for(z=2;z<=36;z=z+2)if( 4*x+3*y+z/2==36&&x+y+z==36){i++;printf("有%d种方法.其中:\nx=%d\ny=%d\nz=%d\n",i,x,y,z);}return 0;}3.#include <stdio.h>int main(){int x=0,i=0;while (i<10){if (x%3==2 && x%5==4 && x%7==3){printf("%d\n",x);i++;}x++;}return 0;}4.#include <stdio.h>#include<math.h>int main(){long x;int i=0;printf("plesae input x (x为长整形正数)\n");scanf("%ld",&x);do{x=x/10;i++;}while(x>0);printf("x为%d位数:\n",i);return 0;}5.#include <stdio.h>int main(){int i, x=3,sum=3;for(i=2;i<=10;i++){x=(x-0.5)*2;sum=x+sum;}printf("第十年的产量是%d\n",x);printf("前十年的总产量是%d\n",sum);return 0;}6.#include <stdio.h>int main(){int i,j;for(i=0;i<=10;i++){for(j=0;j<=5;j++){if(i*1+j*2==10)printf("10元换成: %d张1元%d张2元\n",i,j);}}return 0;}7.#include <stdio.h>int main(){int i,j;for (i=1;i<=7;++i){for(j=1;j<=(i<4?4-i:i-4);++j) printf(" ");for(j=1;j<=(i<4?i*2-1:15-2*i);++j) printf("*");for(j=1;j<=(i<4?4-i:i-4);++j) printf(" ");printf("\n");}return 0;}8./*统计有2个位数相等,但3个数字不全相等的3位自然偶数的个数*/#include <stdio.h>int main(){ int x,a,b,c,i=0;for(x=100;x<1000;x++){if(x%2==0) //判断是否为偶数{a=x%10;//个位b=(x/10)%10;//十位c=x/100;//百位if((a==b && b!=c)||(a==c && b!=c)||(b==c && a!=c)) //判断两个位数相等{i++;//满足提议计数器自增1printf("%d ",x); //输出适合的x}}}printf("\nTotally: %d\n",i); //统计符合题意的x总个数return 0;}。

实验四 循环结构程序设计

实验四 循环结构程序设计

。 #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(循环)

程序设计基础实验报告4(循环)
广东科学技术职业学院
计算机工程技术学院(软件学院)
实验报告
专业软件技术班级20软件14班成绩评定______
学号姓名教师签名
实验4题目循环结构第14周星期2第5,6,7节
一、实验目的、内容及要求(此栏由老师填写)(P59:上机练习及综合实战)
实验目的:
理解程序的循环结构;
掌握三种循环结构的用法;
掌握嵌套循环(二重循环)语句的用法;
训练要点:二重循环结构的用法
}students[j+1] = temp;
}
二、写出源代码,并附上运行截图,显示输入输出结果(学生完成)
1、
2、
3、
4、
三、心得体会(老师最喜欢看这一栏)
可以在此写出难点
实验用三种循环语句完成)
训练要点:
(1)while循环结构
(2)do- while循环结构
(3)for循环结构
上机练习2——录入书店会员信息
训练要点:
循环结构
循环结构结合分支结构的用法
上机练习3——验证用户登录信息
训练要点:循环结构的应用
上机练习4——在控制台输出由*号组成在直接三角形和九九乘法表

实验四循环结构大全语言程序设计实验报告

实验四循环结构大全语言程序设计实验报告

循环结构汇编语言程序设计实验报告实验四循环结构汇编语言程序设计一、实验目的1233排序、汇编工具:Masm.exe+Link.exe。

五、实验步骤1)建立和生成的文件(1)编写的源程序,源程序名为abc、扩展名为.asm(2)源程序经汇编程序Masm.exe汇编(翻译)后生成二进制目标程序,文件名为abc.obj (3)目标程序需要经Link.exe连接生成可执行程序,文件名为abc.exe2)汇编环境最基本的汇编环境只需要两个文件:Masm.exe和Link.exe。

将这两个文件拷入到已经建好的文件夹(例如huibian)中,并将文件夹huibian放在硬盘根目录C :\>下3)上机步骤进入DOS窗口中执行。

4)调试程序进入DEBUG后,调试程序5)调试成功后重新汇编、连接并生成可执行代码61assume cs:code,ds:datastart:push dssub ax,axpush axmov ax,datamov ds,ax;以下是起泡排序核心代码mov cx,10dec cxloop1:loop2:mov ax,a[bx] cmp a[bx+2],ax jge cotinue xchg ax,a[bx+2] mov a[bx],ax cotinue:add bx,2loop loop2retcall binretbini endpbin proc near mov ax,bx mov dx,0div cxmov bx,dx mov dl,aladd dl,30hretbin endpcrlf proc nearmov dl,0ahmov ah,02hint 21hmov dl,0dhmov ah,02hint 21ret2n dw 18m dw 10data ends;************************ code segment;------------------------main proc farassume cs:code, ds:data start:push dssub ax, axpush axmov ax, datamov ds, ax;------------;sort;------------;si,di index;ax tempmov si, 0mov di, 0PRINT_LOOP:mov ax, arr[di]mov dx, 0call print_decadd di, 2loop PRINT_LOOP;read key from the keyboardmov ah, 0int 16hret;---------------------;get_oct function ;must pass ax, dx print_dec proc near SAVEREGmov cx, 0mov bx, 10 GET_NUM_LOOP:div bxpush dxmov dx, 0。

实验四 循环结构程序设计

实验四  循环结构程序设计
for(_______________)
{if( x%i==0 && y%i==0 )
break;
}
printf("最大公约数是: %d\n",i);
}
(二)计算1到100之间的奇数之和及偶数之和。请填空。
/* 计算1到100之间的奇数之和及偶数之和 */
#include "stdio.h"
void main( )
2.字符常量’0’与数值常量0是不同的。
(六)下面程序的功能是:计算1到100之间的奇数之和及偶数之和,并输出。请在程序中的横线上填入适当的内容,将程序补充完整并运行。
/* c4-6.c */
/* 计算1到100之间的奇数之和及偶数之和 */
#include "stdio.h"
void main( )
定义两个变量t再定义一个循环变量和结果变量s从键盘输入间的每一个数在循环体中通过条件语句来判断这个数是否既不能被3整除也不能被7整除如果满足条件累加求和如果不满足则继续循环
实验四 循环结构程序设计(一)
一、实验学时 2学时
二、实验目的
(一)掌握用while,do-while,for语句实现循环的方法;
void main( )
{ float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while (_______________)
{ if (x>amax) amax=x;
if (_______________) amin=x;
scanf("%f",&x);
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

循环结构汇编语言程序设
计实验报告
实验四循环结构汇编语言程序设计
一、实验目的
1、学习循环结构的汇编语言程序的设计和调试。

2、学习通过直接对8086计算机的寄存器和内存的直接访问,编写更高效简洁的汇编程序。

3、加深掌握计算机整体的工作过程。

3、加深对排序算法的理解。

二、实验任务
编写程序求出数组A中(20个元素)的最大值和最小值(数组没有排序)。

要求至少采用二种不同的排序算法来实现。

( 快速排序,归并排序、堆排序、Shell排序、插入排序、冒泡排序、交换排序、选择排序、基数排序……)
三、实验内容
为了更好地实现老师所布置的实验任务,我们根据情况选取以下两种方式实验。

1、利用冒泡排序的方式求解数组A中元素的最大值最小值。

设计流程图如下所示:
2、利用选择排序的方式求得数组A中元素的序列。

设计流程图如下所示:
四、实验环境
PC机: winXP/win7(32位)/win7(64位)+winxp 虚拟机
汇编工具:+。

五、实验步骤
1)建立和生成的文件
(1)编写的源程序,源程序名为abc、扩展名为.asm
(2)源程序经汇编程序汇编(翻译)后生成二进制目标程序,文件名为
(3)目标程序需要经连接生成可执行程序,文件名为
2)汇编环境
最基本的汇编环境只需要两个文件:和。

将这两个文件拷入到已经建好的文件夹(例如huibian)中,并将文件夹huibian放在硬盘根目录C :\>下
3)上机步骤
进入DOS窗口中执行。

4)调试程序
进入DEBUG后,调试程序
5)调试成功后重新汇编、连接并生成可执行代码
6)执行程序,并对运行结果截图。

利用冒泡排序求得数组A中元素的最大值最小值的实验结果如下图所示:(说明:输入
数据为:13,0,59,900,587,1,657,234,34,48)
利用选择排序对数组A中元素排序得到的序列得实验结果如下图所示:(说明:输入数
据为13,0,59,900,587,1,657,234,34,48)
六、实验心得
通过本次循环结构汇编语言程序设计的实验,我初步了解了汇编语言的基本语法,利用汇编语言的循环结构实现了对于数组A中元素的排序以及求得元素中的最大值最小值。

另外,在实验过程中,我也了解到了,我们要时刻细心严谨,认真做好每一步,避免出现低级错误。

七、汇编语言代码
1、利用冒泡排序实现求最大值最小值的代码
data segment
mes1 db 'the max:$'
mes2 db 'the min:$'
a dw 13,0,59,900,587,1,657,234,34,48
data ends
code segment
main proc far
assume cs:code,ds:data
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
;以下是起泡排序核心代码
mov cx,10
dec cx
loop1:
mov di,cx
mov bx,0
mov ax,a[bx]
cmp a[bx+2],ax
jge cotinue
xchg ax,a[bx+2]
mov a[bx],ax
cotinue:
add bx,2
loop loop2
mov cx,di
loop loop1
mov dx,offset mes1
mov ah,09h
int 21h
mov bx,a[18]
call bini ;转换为十进制的子程序mov dx,offset mes2
mov ah,09h
int 21h
mov bx,a[0]
call bini
ret
main endp
bini proc near
mov cx,10000d
call bin
mov cx,1000d
call bin
mov cx,100d
call bin
mov cx,10d
call bin
mov cx,1d
call bin
ret
bini endp
bin proc near
mov ax,bx
mov dx,0
div cx
mov bx,dx
mov dl,al
add dl,30h
mov ah,02h
int 21h
ret
crlf proc near
mov dl,0ah
mov ah,02h
int 21h
mov dl,0dh
mov ah,02h
int 21
ret
crlf endp
code ends
end start
2、利用选择排序实现排序的代码
SAVEREG macro
push ax
push bx
push cx
push dx
push si
push di
endm
RESAVEREG macro
pop di
pop si
pop dx
pop cx
pop bx
pop ax
endm
;************************
data segment
arr dw 13,20,59,900,587,1,657,234,34,48 n dw 18
m dw 10
data ends
;************************
code segment
;------------------------
main proc far
assume cs:code, ds:data
start:
push ds
sub ax, ax
push ax
mov ax, data
mov ds, ax
;------------
;sort
;------------
;si,di index
;ax temp
mov si, 0
mov di, 0
loop1:
cmp si, n
jge OUTER1
;init loop2
mov ax, si
add ax, 2
mov di, ax
loop2:
cmp di, n
jg OUTER2
mov ax, arr[si]
cmp ax, arr[di]
jle DO_NOTHING
xchg ax, arr[di]
mov arr[si], ax
DO_NOTHING:
add di, 2
jmp loop2
OUTER2:
add si, 2
jmp loop1
OUTER1:
mov cx, m
mov di, 0
PRINT_LOOP:
mov ax, arr[di]
mov dx, 0
call print_dec
add di, 2
loop PRINT_LOOP
;read key from the keyboard mov ah, 0
int 16h
ret
;---------------------
;get_oct function
;must pass ax, dx
print_dec proc near
SAVEREG
mov cx, 0
mov bx, 10
GET_NUM_LOOP:
div bx
push dx
mov dx, 0
inc cx
cmp ax, 0
jne GET_NUM_LOOP PRINT:
pop dx
add dx, 30h
mov ah, 02h
int 21h
loop PRINT
;enter and change line mov dl, 0dh
mov ah, 02h
int 21h
mov dl, 0ah
mov ah, 02h
int 21h
RESAVEREG
ret
print_dec endp
main endp
;------------------------ code ends
;************************ end start。

相关文档
最新文档