文档库 最新最全的文档下载
当前位置:文档库 › 实验2循环结构

实验2循环结构

实验2循环结构
实验2循环结构

2

循环结构

程序填空

1.

本题分值:

10

题目描述:

马克思曾经出过这样一道趣味数学题:有

30

个人在一家小饭馆里用餐,其中有男人、女人和小

孩。每个男人花了

3

先今,每个女人花了

2

先令,每个小孩花了

1

先令,一共花去

50

先令。问男人、女人

以及小孩各有几个人。以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上

调试程序,以测试填入的部分是否正确。

代码:

#include

using namespace std;

int main()

{

int n; //n

记录解的个数

int a,b,c; //

分别记录男、女、小孩的人数

n=__(1)__; //

初始化

n

的值

for(a=1;a<=30;a++)

{

for(b=1;b<=30;b++)

{

c=__(2)__;

if( __(3)__ )

{

cout<<"

男人有

:"<

个;

"<<"

女人有:

"<

个;

"<<"

小孩有:

"<

个。

"<

n++;

}

}

}

cout<<"

共有

"<

种方案

"<

return 0;

}

2.

本题分值:

10

题目描述:

下面程序的功能是输出

1

100

之间每位数的乘积大于每位数的和的数,请填空使程序完整,并在计算机上调试程序,以测试填入的部分是否正确。

代码:

#include

using namespace std;

int main()

{

int n, k=1, s=0, m

for (n=1 n<=100 n++)

{

k=1 s=0

__(1)__;

while ( __(2)__ )

{

k*=m%10;

s+=m%10;

__(3)__;

}

if (k>s) cout<

}

return 0;

}

3.题目描述:

一个数如果恰好等于除它本身的所有因子之和,这个数就称为完数。例如,6=1+2+3,6就称为完数。输出1000以所有满足完数条件的数及其个数。请阅读以下不完整的程序,并在计算机上调试该程序以补足其中的空格,实现其功能。

代码:

#include

using namespace std;

int main()

{

int n,s,i,count=0;

cout<<"1000以的完数为:";

for(n=1;n<1000;n++)

{

s=0;

for(i=1;i

if (n%i==0) s=s+i; //如果i是n的因数

if (s==n) //判断是否满足完数的条件

{

cout<

count=count+1; //完数的个数+1

}

}

cout<

return 0;

}

4.

题目描述:

求100以能被3整除且个位数字为9的所有正整数。请阅读以下不完整的程序,并在计算机上调试该程序以补足其中的空格,实现其功能。

代码:

#include

using namespace std;

int main()

{

int i;

for(i=1;i<100;i++)

{

if(i%3==0&& i%10==9)

cout<

}

return 0;

}

5.

题目描述:

求输入的两个正整数的最大公约数。请阅读以下不完整的程序,并在计算机上调试该程序以补足其中的空格,实现其功能。

代码:

#include

using namespace std;

int main()

{

int x,m,n;

cin>>m>>n;

if(m

else x=n; //x取m和n中的较小值

//x从m和n的较小值开始到1的围递减寻找公约数

while(x>=1)

{

if(m%x==0 && n%x==0) //如果x是m和n的约数,x的值即为最大公约数

break;

x=x-1;

}

cout<

return 0;

}

6.

题目标题:

数字求和。

时间限制:

1000MS

存限制:

32768KB

题目描述:

给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少?

输入描述:

输入一行,只包括6个小于100的正整数,其中第一个正整数就是a。

输出描述:

输出一行,给出一个正整数,是5个数中小a的数的和。

样例输入:

10 1 2 3 4 11

样例输出:

10

#include

using namespace std;

int main()

{

int a[6];

cout<<"Please input 6 elements"<

for(int i=0;i<6;i++)

cin>>a[i];

int b=a[0],sum=0;

for(int j=0;j<6;j++)

{

if(b>a[j]) sum=sum+a[j];

}

cout<<"这5个数中小于a的数的和是"<

return 0;

}

7.

题目标题:

球弹跳高度的计算。

题目描述:

一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。编程计算气球在第5次落地时,共经过多少米? 第5次反弹多高?

输入描述:

输入一个整数h0,表示球的初始高度。

输出描述:

两个数据s和h,分别表示第5次落地时共经过s米,第5次反弹高度为h米,s和h用空格隔开。

注意:结果可能是实数,结果用

double

类型保存。

提示:输出时不需要对精度特殊控制,用

cout<

即可。

样例输入:

10

样例输出:

28.75 0.3125

#include

using namespace std;

int main()

{

double ho,h,s,so;

cin>>ho;

h=ho;

s=h;

for(int i=1;i<=5;i++)

{

h=h/2;

so=2*h;

s=s+so;

}

s=s-so;

cout<<"第五次落地时共经过"<

cout<<"第五次反弹高度为"<

return 0;

}

8.

题目标题:

求分数序列和。

题目描述:

有一个分数序列

2/1,3/2,5/3,8/5,13/8,21/13,....

求这个分数序列的前n项之和。

输入描述:

输入有一行:正整数n。

输出描述:

输出有一行:分数序列的和(浮点数,精确到小数点后4位)。

【提示】

1. 最好在程序中使用双精度浮点数(double)记录求得的和。

2. 要输出浮点数、双精度数小数点后4位数字,可以用下面这种形式:

cout<

按上面的形式控制输出格式时,需在源程序最开始加上一行:

#include

样例输入:

99

样例输出:

160.4849

#include

#include

using namespace std;

int main()

{

double m,a=2.0,b=1.0,sum=0.0;

int n;

cout<<"请输入n值:";

cin>>n;

for(int i=1;i<=n;i++)

{

sum=sum+(double)a/b;

m=a;

a=a+b;

b=m;

}

cout<

return 0;

}

9.

题目标题:

点和正方形的关系。

题目描述:

在平面坐标系中,有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,-1),(-1,1),x是横轴,y是纵轴。写一个程序,判断给定的多个点是否在这个正方形。

输入描述:

多组数据,每行包含两个浮点型数据,分别表示一个点的横、纵坐标,输入坐标为0,0时表示输入结束。(注意,输入的数据不止3组)

输出描述:

对每组输入的点进行判断,显示yes或no,表示是否在正方形中,最后输入的原点也要显示yes,然后才不再继续输入点坐标。(当点在正方形的边上时,也认为在正方形)

样例输入:

3 4 0.5 1 0 0

样例输出:

no yes Yes

#include

using namespace std;

int main()

{

float x,y;

cin>>x>>y;

while(x!=0||y!=0)

{

if(x>=-1.0&&x<=1.0&&y>=-1.0&&y<=1.0)

cout<<"YES"<

else cout<<"NO"<

cin>>x>>y;

}

if(x==0&&y==0)

cout<<"YES"<

return 0;

}

10.

题目标题:

抓交通肇事犯。

题目描述:

一辆卡车违反交通规则,

撞人后逃跑。

现场有三人目击事件,

但都没有记住车号,

只记下车号的一些特征。

甲说:

牌照的前两位数字是相同的;

乙说:牌照的后两位数字是相

同的,

但与前两位不同;

丙是数学家,他说:

四位的车号所构成的数字正好等于某一个整数的平方。请根据以上线索求出车号。

输入描述:

无。

输出描述:

直接显示一个四位整数表示肇事车号

样例输入:

样例输出:

#include

using namespace std;

int main()

{

int n,a,b,c,d;

for (n=32;n*n>=1000&&n*n<=9999;n++)

{

a=(n*n)/1000;

b=((n*n)/100)%10;

c=((n*n)/10)%10;

d=(n*n)%10;

if(a==b&&c==d&&a!=c) {

cout<<"

肇事车号

"<

}

}

return 0;

实验3-1 顺序结构(1)

实验3-1 顺序结构程序设计(一) 1 【实验目的】 (1)掌握C语言中使用最多的一种语句——赋值语句的使用方法(2)掌握基本的算术运算符和常用的数学函数的使用 (3)熟练掌握简单的数据输入输出的方法 【实验要求】 (1)熟练掌握赋值语句的使用 (2)熟练掌握基本的算术运算符和常用的数学函数的使用 (3)熟练掌握简单数据的输入输出的方法 【实验环境】 (1) Microsoft XP操作系统 (2) Microsoft VC++ 6.0 【实验内容】 1、程序改错 题目描述:阅读下面程序段,编译调试程序,并改正错误语句。 #include < stdio.h > // 求球体体积 #define PI=3.1415927 int main() {

double r,volume; scanf("%lf\n",&r); volume=4/3*PI*r*r; printf("%lf\n",volume); return 0; } 输入:输入球体半径。 输出:球体体积 样例输入:1 样例输出:4.19 本题实验的目的: 学会读错误提示,掌握调试程序的基本方法。必须学会“切断点、单步执行”的方法。 2、浮点数https://www.wendangku.net/doc/fa2404992.html,/JudgeOnline/problem.php?id=1895 题目描述:从键盘输入两个个小数,求其和,并按共六位,小数点后保留两位的格式输出。 输入:两个小数 输出:两数之和,共六位,小数点后保留两位 样例输入:1.2 2.1 样例输出: 3.30 3、求平方根https://www.wendangku.net/doc/fa2404992.html,/JudgeOnline/problem.php?id=1911

最新实验四分支循环结构程序设计

实验四分支循环结构 程序设计

实验四、分支循环结构程序设计 一、实验目的 1.通过本实验,加深对循环控制结构有关概念的理解。 2.熟练掌握while、do-while和for三种循环控制语句的特点,掌握循环结构程序设计和调试方法。 3.掌握二重循环结构程序的设计方法。 二、实验内容 1.用while循环实现数据统计问题。 数据统计问题:从键盘输入一批任意数量的整数,统计其中不大于100的非负数数值的个数。 2.编写并调试程序,使用do-while循环控制语句实现上面的数据统计问题。调试数据仍参照上面给出的几种情况设计使用。 3.编写并调试程序,使用for循环控制语句实现上面的数据统计问题。4.阶乘累加问题。编写程序,求1+2!+3!+…+n!的值(习题5.9)。三、实验指导 1.用while循环实现数据统计问题。 ⑴编程分析 由于输入数据个数是不确定的,因此每次执行程序时,循环次数都是不 确定的。在进行程序设计时,确定循环控制的方法是本实验的一个关键 问题。循环控制条件可以有多种确定方法: ①使用一个负数作为数据输入结束标志。 ②输入一个数据后通过进行询问的方式决定是否继续输入下一个数据。 ⑵参考程序 l 参考程序一 /* 使用负数作为数据输入结束标志的程序 */ #include "stdio.h" void main() { int m,counter=0; while(1) { printf("请输入一个整数:"); scanf("%d",&m); if(m<0)break; if(m<=100)counter++; printf("\n"); } printf("符合要求的整数个数为: %d\n",counter); } l 参考程序二 /* 通过进行询问的方式决定是否继续输入下一个数据的程序 */ #include "stdio.h" void main() { int m,counter=0; char ask; while(1) { printf("请输入一个整数:"); scanf("%d",&m);

包装结构设计实验

《包装结构设计》课程实验教学大纲 1、实验课程名称:包装结构设计 2、实验课程名称(英文):Packaging Structure Design 3、课程代码:120037 4、实验课程性质:非独立设课 5、学时:4 6、学分: 7、适用专业:包装工程 8、先修或同修课程:包装CAD、包装材料学、包装电脑装璜、包装工艺 9、开设单位:工程技术学院 10、制定实验教学大纲的依据: 东北林业大学本科专业人才培养计划 11、本实验课在培养实验能力中的地位及作用: 该课程实验是设计性实验,通过实验可以充分发挥学生的主观能动性及创新性,学生对自己设计的产品进行分析评价体验设计的合理性、表现性,为以后的课程学习及工作打下基础。符合增强“素质教育”的要求,为培养具有创新能力的人才奠定了基础。 12、应达到的实验能力标准: 在实验教学过程中,培养学生动手能力及设计创新能力。要求学生掌握典型包装容器的设计步骤及方法,了解包装容器常见类型、使用材料及成型工艺,重点掌握纸包装容器设计的方法及制造过程。 13、实验内容: (1)折叠纸盒设计与制作 应用纸盒的设计理论和方法进行折叠纸盒的设计和制作实践,通过实际操作加深对包装纸盒结构设计方法的理解,熟练包装纸盒结构设计与制作方面的工艺方法。并通过纸盒的设计熟练掌握TULIC系列公式的应用方法及要点。 (2)瓦楞纸箱设计与制作 应用瓦楞纸箱的设计理论和方法进行纸箱的设计与制作实践,通过设计制作加深对瓦楞纸箱容器的设计及制造方法的理解,获得瓦楞纸箱结构设计与制造方面的知识。 14、实验成绩考核办法 根据学生预习情况、实验操作情况、实验报告的质量、考试成绩和设计研究性实验成绩综合评定,最终成绩分级为:优、良、中、及、不及格。 15、实验教材、参考资料: [1]宋宝峰,宋翼生主编.包装容器结构设计与制造.北京:印刷工业出版社,2001 [2]孙诚,王德忠主编.包装结构设计.北京:中国轻工业出版社,2003 [3]萧多皆主编.纸盒包装设计指南.沈阳:辽宁美术出版社,2003 [5]黄虹主编.塑料成型加工与模具.北京:化学工业出版社,2003

实验-4顺序结构

实验4:顺序结构程序设计 实验名称:顺序结构程序设计成绩: 实验日期:年月日实验报告日期:年月日 一、实验目的 1、掌握:使用标准输入/输出函数进行常见数据类型的数据的输入/输出方法。 2、初步培养编制程序框图和源程序、准备测试数据以及实际调试程序的独立编程能力。 二、实验内容 在Turbo C下完成程序题: (1)根据商品原价和折扣率,计算商品的实际售价(结果精确到小数点后2位) (2)根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积(结果精确到小数点后3位) 注:变量名可以自由选择,以易于理解为原则;数据由键盘输入。 三、实验要求 1、实验前编制程序框图、编写源程序、准备测试数据。 2、实验测试数据要求从键盘输入。应尽力追求程序的完美。比如要求输入数据,应当显示提示 字符串,提示用户输入;输出时要求有文字说明。 3、在Turbo C下完成程序的编辑、编译、运行,获得程序结果。如果结果有误,应找出原因, 并设法更正之。 4、编制的程序必须保存在D:\用户目录中。注:用户目录可以用学号或姓名拼音简写。 四、实验步骤、过程 1、启动操作系统,进入DOS窗口;切换到用户磁盘,创建、进入用户目录。(方法、命令与 实验1相同) 2、启动Turbo C集成开发环境。(方法与实验1相同) 3、完成2个程序题。(编辑、保存、编译连接、运行程序,步骤与实验1相同) 4、退出Turbo C集成开发环境,关机。

五、源程序清单、测试数据、结果。 1、根据商品原价和折扣率,计算商品的实际售价 程序框图: 程序 main() { float price,discount,fee; printf("Input Price,Discount:"); fee=price*(1-discount/100); } 运行: Input Price,Discount: Fee= 注:下划线表示程序运行后用户输入的数据,表示回车,以后不再解释。 2、根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积程序 void main() { float r,h,pi=3.1415926; float c0,s0,s,v; printf("Input r,h(m):"); scanf("%f,%f",&r,&h);

实验四 循环结构

实验报告 班级:电信13-1班学号:130******** 姓名:谢朗星成绩: 实验四循环结构 一、实验目的 1.掌握循环结构C程序的编写和调试方法。 2.掌握循环结构C程序中使用while语句和do while语句。 二、实验内容和步骤 1.调试下面三个程序,分析执行的结果。 1. #include int main( ) { int sum=0,i=1; while(i<=100) { sum=sum+i; i++; } printf(“%d\n”,sum); return 0; } 5050 在该程序中,先判断i是否<=100,如果是,在循环体先执行了sum=sum+i,接着再执行i++,然后再返回判断i是否<=100,接着再重复上步骤,直到i>100,然后输出最终结果,结束该程序。 2. #include int main( ) { int sum=0,i=1; while(i<=100) { sum=sum+i; i++; printf(“%d\n”,sum);} return 0;

} 在该程序中,先判断i是否<=100,如果是,在循环体先执行了sum=sum+i,接着再执行i++,然后输出当次运行的结果,然后再返回判断i是否<=100,接着再重复上步骤,直到i>100,结束该程序。 3.#include int main( ) { int sum=0,i=1; do { sum=sum+i; i++; printf(“%d\n”,sum); }while(i<=100); return 0; } 在该程序中,在循环体中先执行了sum=sum+i,接着再执行i++,然后输出当次运行的结果,接着再判断i是否<=100,如果是,返回执行循环体,接着再重复上步骤,直到i>100,结束该程序。 2.编写如下2道题目的程序,要求详细写出程序编写、编译、运行的过程,源程序关键执 行语句需要给出注释。 (a)统计全单位人员的平均工资。单位的人数不固定,工资数从键盘先后输入,当输入-1 时表示输入结束(前面输入的是有效数据) 分析:循环执行的条件while(i!=-1) , 循环结束条件是单位的人数n,循环体采用累加的方法。 (b)求∑= 20 1 n !n 分析:循环体采用累加和累乘。(a) #include int main() {

顺序结构实验报告

程序设计基础 实验报告 实验编号 1905B000201 实验名称顺序结构 实验地点软件技术实验室(2) 班级19软嵌2班 学号 姓名

一、实验目的: 1、掌握编程环境的使用 2、掌握基本数据类型、变量的定义和赋值; 3、掌握输入输出语句 4、理解顺序结构的使用 二、实验内容: 问题1: 源代码: #include void main() { int num1,num2,sum,min,mul,yushu; float shang; printf("Enter num1:"); scanf("%d",&num1); printf("Enter num2:"); scanf("%d",&num2); sum=num1+num2; min=num1-num2; mul=num1*num2; shang= (float)num1/num2; yushu=num1%num2; printf("%d+%d=%d\n",num1,num2,sum); printf("%d-%d=%d\n",num1,num2,min);

printf("%d*%d=%d\n",num1,num2,mul); printf("%d/%d=%.2f\n",num1,num2,shang); printf("%d%%%d=%d\n",num1,num2,yushu); return 0; } 输入:5 3 结果: 问题2: 源代码: #include int main() { int time1, time2,m,n; printf("Enter time1:"); scanf( "%d" ,&time1); printf("Enter time2:"); scanf("%d",&time2); m=(time2-time1)/100;

实验三 循环结构

实验三循环结构 一.实验目的 1.熟悉用while语句,do-while语句和for语句实现循环的方法。 2.掌握循环嵌套的用法。 3.掌握在程序设计中用循环的方法实现各种算法(如迭代,递推,穷举等)。4.掌握break和continue语句的用法。 二.实验要点 在C语言中主要用以下方法实现循环: 1.while语句格式:while (表达式)语句 2.do- while语句格式:do 语句 while (表达式); 3.for语句 for语句的一般格式: for (表达式1;表达式2;表达式3)语句 for (初值表达式;条件表达式;增值表达式) 语句 三.实验要求 1.上机前编写好以下程序。 2.上机输入和调试自己所编的程序并存在自己的U盘上。 3.检查实验结果是否正确。 4.上机结束后,整理实验报告,以“学号—姓名-第3次实验”命名的文件上传到作业服务器。 四.实验内容 上机调试运行以下程序。 1.下面的程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环.请填空. #include”stdio.h” void main(){ int n=0; char c; c=getchar(); while (【】) { if ( 【】) n++; c=getchar(); } printf(“n=%d”,n);}

键盘输入:abcdef12345k(表示回车) 输出结果: 2.当运行下面程序时,从键盘输入1 2 3 4 5 –1(表示回车)时,输出结果: #include void main() { int k=0,n; do {scanf(“%d”,&n); k+=n;} while(n!=-1); printf("k=%d n=%d\n",k,n); } 3.下列程序是求水仙花数的程序,所谓水仙花数是指一个三位数,其各位数字立方和等于该数。例如,153是一个水仙花数。 #include void main() { int i,j,k,n; printf(" The number is: "); for(【】;n++) { i= 【】; j=n/10-i*10; k=【】; if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) { printf("%d\t", 【】); } } } 程序输出结果: 4.下面程序完成把100~120之间的不能被3整除的数输出,并求其和,请填空。 #include void main( ) { int n,sum=0; for (【】) { if (n % 3 == 0) 【】; sum+=n; printf(“%d,”, n);

《包装结构设计》实验指导书

《包装结构设计》课程实验指导书 张新昌、王利强、孙昊 江南大学机械工程学院包装工程系 2016.3

“包装结构设计”课程是包装工程专业的主干和核心课程之一。按教学大纲要求,本课程主要围绕不同材料的包装容器结构进行讨论,包括纸包装容器(折叠纸盒、粘贴纸盒、瓦楞纸箱)、塑料包装容器(注射、压制容器、中空吹塑容器和其他)、玻璃包装容器、金属包装容器等内容。通过本课程的学习,要求学生掌握典型包装容器的设计步骤和方法,了解包装容器常见结构类型、所使用材料、成型工艺,同时,结合本学期的相关教学与实践环节(产品包装创新实践及包装设计大赛等,在实践中有所创新。 根据“包装结构设计”卓越课程建设安排,本课程安排了 3 组课内外制作实践的内容,每次所需课时约 4学时(课内/课外各2学时),设计过程由学生在课外进行。 一、纸盒设计与制作 1. 实验目的 学习了各种纸盒的基本结构和基本设计方法后,还须进行纸盒的设计与制作实践。通过实际作业才能加深对包装纸盒结构的理解,获得包装纸盒设计制作方面的工艺知识。 要求设计者经过认真构思,设计和制作实样,并听取用户意见做进一步修改。 2. 实验要求 要求学生通过实践,制作出合格而有销售魅力的纸包装设计。应该做到: ①适合于内装物的形态和规格; ②其结构足以承受内装物品重量,确保在流通中不破裂,不散落; ③结构形式新颖别致,富有创新性;兼有制作方便打开方便的优点; ④符合对本包装的特别要求(指装箱、分组、流通、携带、销售和使用等)。 确认设计制作的实样符合以上基本要求后,进入生产过程(打样或制作)。 3. 设计选题 表1列出较常见的8种包装盒设计课题,题目的具体内容及要求说明均列于表中,学生可根据要求选择1-2种进行设计制作。 表1 包装纸盒设计选题

实验1-顺序和选择结构

实验1 顺序结构和选择结构编程 程序填空题 1. 题目描述:根据三边长求三角形的面积。本题中使用海伦公式求解:area=sqrt(s*(s-a)*(s-b)*(s-c)),其中s是三边和的一半,即(a+b+c)/2。sqrt函数包含在cmath的头文件中,它的功能是求平方根。以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上调试程序,以测试填入的部分是否正确。 代码: #include #include using namespace std; main() { double a,b,c,s,area; //输入三角形的面积a,b,c cin>>a>>b>>c; s=__(1)__; area=sqrt( __(2)__ ); //函数sqrt()用来计算一个非负数的平方根,使用这个函数,需要在源程序中增加#include cout<<"area="<<__(3)__< using namespace std; main() { int a,b,c,max; //声明四个整型变量 cin>>a>>b>>c; if(a>b) max=a; else max=__(1)__; //将a和b中的较大值记录在max中 if( __(2)__ >max) max=c; //如果c是最大值 cout<<"max="<<__(3)__<

实验2-循环结构题目

实验2 循环结构 程序填空 1. 本题分值:10 题目描述:马克思曾经出过这样一道趣味数学题:有30个人在一家小饭馆里用餐,其中有男人、女人和小孩。每个男人花了3先今,每个女人花了2先令,每个小孩花了1先令,一共花去50先令。问男人、女人以及小孩各有几个人。以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上调试程序,以测试填入的部分是否正确。 代码: #include using namespace std; int main() { int n; //n记录解的个数 int a,b,c; //分别记录男、女、小孩的人数 n=__(1)__; //初始化n的值 for(a=1;a<=30;a++) { for(b=1;b<=30;b++) { c=__(2)__; if( __(3)__ ) { cout<<"男人有:"< using namespace std;

{ int n, k=1, s=0, m ; for (n=1 ; n<=100 ; n++) { k=1 ; s=0 ; __(1)__; while ( __(2)__ ) { k*=m%10; s+=m%10; __(3)__; } if (k>s) cout< using namespace std; int main() { int n,s,i,count=0; cout<<"1000以内的完数为:"; for(n=1;n<1000;n++) { s=0; for(i=1;i

顺序表的应用数据结构实验报告记录

顺序表的应用数据结构实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

大学数据结构实验报告 课程名称数据结构实验第(三)次实验实验名称顺序表的应用 学生姓名于歌专业班级学号 实验成绩指导老师(签名)日期2018年9月30日一、实验目的 1.学会定义线性表的顺序存储类型,实现C程序的基本结构,对线性表的一些基本操作和具体的函数定义。 2.掌握顺序表的基本操作,实现顺序表的插入、删除、查找以及求并集等运算。 3.掌握对多函数程序的输入、编辑、调试和运行过程。 二、实验要求 1.预习C语言中结构体的定义与基本操作方法。 2.对顺序表的每个基本操作用单独的函数实现。 3.编写完整程序完成下面的实验内容并上机运行。 4.整理并上交实验报告。 三、实验内容: 1.定义一个包含学生信息(学号,姓名,成绩)的顺序表,使其具有如下功能: (1)根据指定学生个数,逐个输入学生信息 (2)逐个显示学生表中所有学生的相关信息 (3)根据姓名进行查找,返回此学生的学号和成绩 (4)根据指定的位置可返回相应的学生信息(学号,姓名,成绩) (5)给定一个学生信息,插入到表中指定的位置 (6)删除指定位置的学生记录 (7)统计表中学生个数 四、实验设计 1.定义一个包含学生信息(学号,姓名,成绩)的顺序表,使其具有如下功能: (1)根据指定学生个数,逐个输入学生信息 for(count=0; count

实验一 顺序结构与输入输出

实验一顺序结构与输入/输出方法 一、实验目的 掌握C语言中赋值语句的使用 掌握C语言中各种数据的输入/输出方法 能正确使用各种格式转换符 二、实验要点 1、掌握C语言中的基本输入/输出语句 * scanf()输出函数 一般格式:scanf(“格式串”,地址表达式1[,地址表达式2,……,地址表达式n]); * printf()输入函数 一般格式:printf(“格式串”,[表达式1,表达式2,……,表达式n]); 2、掌握C++中的基本输入/输出 掌握:1)cout代表c++的输出流。 cin代表c++的输入流。 它们都是在头文件“iostream”中定义。 2)"cout"必须与"<<"一起使用,“<<”起到插入的作用。 在一条语句中可以多次使用“<<”输出多个数据。 如:cout<>”一同使用,“>>”起到提取的作用。 同样的在一条语句中可以多次使用“>>”输入多个数据。 如:cin>>a>>b;(输入a,b的值。) 4)输入输出是注意不能写成“cout<>a,b;" 简单的输入输出程序: #include using namespace std; int main() { int a,b; cout<<"请输入a,b的值"<>a>>b; cout<<"输出a的值"<

实验(5)-循环结构.

C语言程序设计实验教学(5) 【实验目的】通过程序设计实现,掌握while结构、do-while结构和for结构各种类型的循环结构,完成各种循环程序的设计和实现。 【实验要求】同一个题目尝试使用多种循环控制结构来实现,并分析其设计和实现的差别和难易程度。 【实验课时】6.0 【实验内容】 1、完成课堂实例的实现。 (1)计算s=1+2+…+100。(累加型) (2)请输入数n,计算n!。(连乘型) (3)输出所有的水仙花数。(范围型) (4)判断n是否为素数。(反向思维型) (5)输出100-200之间能同时被3和5整除的数。(用continue语句) (6)输入任意n个数,输出其中最大数和最小数,并输出它们在序列中的位置。 (7)输出以下图形(1): (8)输出以下图形(2): (9)输出以下图形(3): 图形(1)图形(2)图形(3) (10)编写输出如下字母塔的程序: A A B A A B C B A A B C D C B A

……………… …………………… ………………………… A B C D E F G H I J K L M N O P Q R S T U V W X W V U T S R Q P O N M L K J I H G F E D C B A A B C D E F G H I J K L M N O P Q R S T U V W X Y X W V U T S R Q P O N M L K J I H G F E D C B A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Y X W V U T S R Q P O N M L K J I H G F E D C B A 2、计算多项式7+72+73+······+7n 的值,n 由键盘输入。 3、求 ∑=201! n n (即求1!+2!+3!+……+20!) 4、输入2个正整数m,n ,求其最大公约数和最小公倍数。 5、请编程序打印出以下数列:1、1、2、3、5、8、13、…的前40项。每行输出4个数。(斐波那契数列) 6、求100~200间的全部素数。每行输出6个数。 7、“鸡兔同笼”是一个中国古算题,最早出现在《孙子算经》中。笼中有若干只鸡和兔子,它们共有88个头,244只脚,问鸡和兔各有多少只? 8、求下列分数序列的前20项之和。 12,23,35,58,813,1321,…… 9、输入x 值,按照公式计算cos(x)的值,直到最后一项小于10-6为止。 ,! 6x !4x 2!x 1)x (cos 6 42 +-+-= 10、找出1000之内的所有完数,一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。输出时按下面的格式输出其因子: 6 its factors are 1,2,3 补充作业:(以下题目任选2题) 1、我国古代有一道有名的数学难题,称为“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买了百鸡,问鸡翁、鸡母、鸡雏各买了多少只? 2、猴子吃桃问题。猴子第一天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上再想吃时,就

数据结构实验报告

南京工程学院实验报告 操作的函数程序清单,分别用顺序表和链表结构完成,并在首页上表明团队名称、成员及个人的工作(函数),未来的成绩评定时将包含这一部分的团队成绩及个人的工作成绩。 一、实验目的 1.熟悉上机环境,进一步掌握语言的结构特点。 2.掌握线性表的顺序存储结构的定义及实现。 3.掌握线性表的链式存储结构——单链表的定义及实现。 4.掌握线性表在顺序存储结构即顺序表中的各种基本操作。 5.掌握线性表在链式存储结构——单链表中的各种基本操作。 二、实验内容 1.顺序线性表的建立、插入及删除。 2.链式线性表的建立、插入及删除。 三、实验步骤 1.建立含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度。 2.利用前面的实验先建立一个顺序表L={21,23,14,5,56,17,31},然后在第i个位置插入元素68。 3.建立一个带头结点的单链表,结点的值域为整型数据。要求将用户输入的数据按尾插入法来建立相应单链表。 四、程序主要语句及作用(main函数程序清单) 程序1的主要代码(附简要注释) #include #define MAXSIZE 1024 typedef int elemtype; typedef struct{ elemtype vec[MAXSIZE]; int len; }sequenlist; elemtype geti(sequenlist s, int i); elemtype deli(sequenlist *s,int i); elemtype insi(sequenlist *s,int i,int b); int main(int argc, char *argv[]){ int i,n,x; sequenlist a; printf("输入n(n>3):"); scanf("%d",&n);

实验一 顺序结构程序设计

实验一顺序结构程序设计 一、实验目的 1. 掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。2 2. 学会使用有关算术运算符,以及包含这些运算符的表达式。 3. 掌握数据的输入输出方法,能正确使用各种格式转换符。 二、实验学时数 4学时 三、实验内容和步骤 1..启动TC 2.0编译系统,进入编辑界面,建立一个新文件。文件名自定。(要求每个学生建立一个自己的文件夹,每个同学的练习和作业的源程序命名形成系列,便于检查、查找和考核)。 利用一个小程序验证常量、变量的使用方法与特点,验证数据类型和表达式值的计算规则及其输出格式。 参考程序: main( ) { char c1,c2; c1=97;c2=98; printf(″%c,%c\n″,c1,c2); } (1)在此基础上加入以下printf语句,并运行。 printf(″%d,%d\n″,c1,c2); (2)将第二行改为以下语句,并运行。 int c1,c2; (3)将第三行改为以下语句,并运行。 c1=300;c2=400; 分别写出三次运行结果。 2.编程并调试运行 (1)编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf 函数输出这两个字符。上机运行此程序,比较putchar和printf函数输出字符的特点。 (2)试编写程序,从键盘输入一个大写字母,要求改用小写字母输出。 3.写出下面程序的运行结果: 1)main() { int x=1,y=1,z=1; y=y+x; x=x+y; printf(″%d\n″,x); printf(″%d\n″,y); } 2) main()

实验三循环结构程序设计

实验三循环结构程序设计 一、实验学时 4学时。 二、实验目的 1.熟练掌握用while、do-while以及for语句实现循环程序设计的方法。 2.理解循环条件和循环体的含义。理解循环结构中语句的执行过程。 3.熟练掌握break和continue语句的功能及应用。 4.掌握应用嵌套循环结构进行程序设计的方法。 5.掌握应用循环结构及穷举算法解决有关问题。 6.掌握运行到光标位置、使用断点等程序调试方法。 三、实验内容 1.程序调试 【例1】改正下列程序中的错误,求S=1!+2!+3!+…+n!的值,n的值通过键盘输入(n ≤10)。 程序: #include void main() { int n,i; long int s,sum; printf("请通过键盘输入具体数据给变量n赋值:"); scanf("%d",&n); for(i=1;i<=n;i++) { s=s*i sum+=s; } printf("1!+2!+3!+...+%d!=%ld\n",n,sum); } (1)按照前面章节实验中介绍的步骤,保存源程序代码。 (2)单击编译按钮(Compile),出现第一条编译错误信息是:missing ';' before identifier 'sum',改正后,重新编译和连接,都正确。 (3)开始调试程序,鼠标单击第11行,光标在第11行闪烁,这就是当前光标的位置,单击,程序运行到光标位置。在变量窗口中,第一次循环时i的值为 1 ,n的值为 5 , 正确;而s的值为-858993460,不正确。请分析错误原因:s示未赋初值,long int s,sum;改为long int s=1,sum;,改正后,重新编译和连接,继续进行上述操作,这时s的值为1正确。

包装结构设计课程设计

《包装结构设计》课程设计说明书三星手机包装设计 学生姓名: 学号: 班级: 指导教师: 完成时间:

1 包装材料的选用原则 (1)对等性原则在选择包装材料时,首先应区分被包装物的品性,即把它们分为高、中、低三档。对于高档产品,如仪器、仪表等,本身价格较高,为确保安全流通,就应选用性能优良的包装材料。对于出口商品包装、化妆品包装,虽都不是高档商品,但为了满足消费者的心理要求,往往也需要采用高档包装材料。对于中档产品,除考虑美观外,还要多考虑经济性,其包装材料应与之对等。对于低档产品,一般是指人们消费量最大的一类,则应实惠,着眼于降低包装成本、方便使用,以经济性为第一考虑原则,可选用低档包装规格和包装材料。 (2)适应性原则包装材料是用来包装产品的,产品必须通过流通才能到达消费者手中,而各种产品的流通条件并不相同,包装材料的选用应与流通条件相适应。流通条件包括气候、运输方式、流通对象与流通周期等。气候条件是指包装材料应适应流通区域的温度、湿度、温差等。对于气候条件恶劣的环境,包装材料的选用更需倍加注意。运输方式包括人力、汽车、火车、船舶、飞机等。它们对包装材料的性能要求不尽相同,如温湿度、振动条件大不相同,因此包装材料必须适应各种运输方式的不同要求。 (3)协调性原则包装材料应与该包装所承担的功能相协调。产品的包装一般分个包装、中包装和外包装,它们对产品在流通中的作用各不相同。个包装也称小包装,它直接与商品接触,主要是保护商品的质量,多用软包装材料,如塑料薄膜、纸张、铝箔等。中包装是指将单个商品或个包装组成一个小的整体,它需满足装潢与缓冲双重功能,主要采用纸板、加工纸等半硬性材料,并适应于印刷和装潢等。外包装也称大包装,是集中包装于一体的容器,主要是保护商品在流通中的安全,便于装卸、运输,其包装材料首先应具备足够的强度,并兼顾其他的功能,多采用瓦楞纸板、木板和胶合板等硬性包装材料。 (4)美学性原则产品的包装是否符合美学,在很大程度上决定一个产品的命运。从包装材料的选用来说,主要是考虑材料的颜色、透明度、挺度、种类等。颜色不同,效果大不一样。当然所用颜色还要符合销售对象的传统习惯。材料透明度好,使人一目了然,心情舒畅。挺度好,给人以美观大方之感,陈列效果好。材料种类不同,其美感差异甚大,如用玻璃纸和蜡纸包装糖果,其效果就大不一样。 2 纸包装的适应性分析 纸类包装材料具有环保、再循环使用、节约成本等特点,随着整个国际市场对包装物环保性要求的日益提高,纸类包装材料是首选包装材料,纸类包装材料除了环保还有另外一个特点,就是可以快速通过商检关口达到快速物流节约成本的目的。现在就来了解纸包装材料的优点和用作食品包装的包装材料的性能。纸和纸板吸收和粘结油墨的能力较强,印刷性能好,因此,在包装上常用作印刷表面。纸和纸板的印刷性能主要决定于表面平滑度、施胶皮、弹性及粘结力等。在纸的加工过程中,尤其是化学法制浆,通常会残留一定的化学物质(如硫酸盐法制浆过程残留的碱液及盐类),因此必须根据包装内容物来正确合理选择各种纸和纸板。纸和纸板属于多孔性纤维材料,对水分、气体、光线、油脂等具有一定程度的渗透性,且其阻隔性受温湿度的影响较大。单一纸类包装材料一般不能用于包装水分、油脂含量较高及阻隔性要求高的食品,但可以通过适当的表面加工来满足其阻隔性能的要求。纸和纸板具有一定的强度、挺度和机械适应性,

数据结构-实验报告顺序表基本运算

(封面) 学生实验报告 学院:国际经贸学院 课程名称:数据结构 专业班级: 09电子商务 姓名: 学号:

学生实验报告 (经管类专业用) 一、实验目的及要求: 1、目的 通过实验,实现顺序表的各种基本运算。 2、内容及要求 编写一个程序,实现顺序表的各种基本运算,并在此基础上设计一个主程序完成下列功能: (1) 初始化顺序表L (2) 依次采用尾插法插入a,b,c,d,e (3) 输出顺序表L (4) 输出顺序表L长度; (5) 判断顺序表L是否为空; (6) 判断顺序表L 的第3个元素; (7) 输出元素‘a’的位置; (8) 在第4个元素位置上插入‘f’元素; (9) 输出顺序表L (10) 删除L的第3个元素; (11) 输出顺序表L (12) 释放顺序表L 二、仪器用具:

三、实验方法与步骤: 一、查阅顺序表等相关资料,熟悉顺序表基本概念和流程 二、“开展”顺序表实验流程 三、整理实验数据和文档,总结实验的过程,编写实验报告 四、实验结果与数据处理: 1、顺序表的代码: #include #include #define MaxSize 50 typedef char ElemType; typedef struct { ElemType data[MaxSize]; int length; } SqList; void InitList(SqList *&L) { L=(SqList *)malloc(sizeof(SqList)); L->length=0; } void DestroyList(SqList *L) { free(L); } int ListEmpty(SqList *L) { return(L->length==0); } int ListLength(SqList *L) { return(L->length); }

实验一数据结构顺序表的插入和删除

实验一顺序表的操作 1. 实验题目:顺序表的操作 2.实验目的和要求: 1)了解顺 序表的基本概念、顺序表结构的定义及在顺序表上的基本操作(插入、 删除、查找以及线性表合并 )。 2)通过在 Turbo C ( WinTc ,或 visual stdio6 )实现以上操作的 C 语言 代码。 3)提前了解实验相关的知识(尤其是 C 语 言)。 3.实验内容:(二选一) 1) 顺序表的插入算法, 删除算法, 顺序表的合并算法 2) 与线性表应用相关的实例( 自己选择具体实例) 4.部分参考实验代码: ⑴ 顺序表结构的定义: #include #define MAXLEN 255 typedef int ElemType; typedef struct { ElemType elem[MAXLEN]; int length; }sqList; ⑵ 顺序表前插(在第i 号元素前插入一个新的元素) int ListInsert(sqList *la,int i,int x) { int j; if(i<0||i>la-> length +1) { printf( “ n the value of i is wrong! ” ); return 0; } if(la-> length +1>=MAXLEN) { printf( “ n overflow! ” ); return 0; }

. for(j=la-> length;j>=i;j--) la->list[j+1]=la->list[j]; la->list[i]=x; la-> length ++; return 1; } ⑶ 顺序表删除 int ListDelete(sqList *la,int i) { if(i<0||i>la-> length ) { printf( “ return 0; n”); } for(i;i length;i++) la->list[i-1]=la->list[i]; la-> length --; return 1; } 5.附录:实验预备知识: ⑴ 复习 C 语言中数组的用法。 ⑵ 了解线性表和顺序表的概念,顺序表的定义方法; 线性表是n 个数据元素的有限序列,至于每个数据元素的具体含义,在不同的情况下各不相同。 顺序表是线性表的顺序存储表示,是用一组地址连续的存储单元依次存储线性表的数据元素。 在 C 语言中,顺序表是用数组来实现的。 ⑶ 掌握线性表在顺序存储结构上实现基本操作:查找、插入、删除和 合并的算法。 在实现这些算法的时候,要注意判断输入数据的合法性,除此之外还要要注意以下内容: 在实现查找的时候,首先要判断该顺序表是否为空,其次要判断查找后的结果(查到时输出查到的数据,未查到时给出未查到提 示)。 在实现插入的时候,首先要判断该顺序表是否为满,如为满则报错 (此时要注意:顺序表是用数组来实现的,它不能随机分配空 间);如不为满,则需判断要插入的位置是否合法(例如:如果 一个线性表的元素只有10 个,而要在第0 个元素前插入或在第 11 个元素后插入就为不合法)。其次要注意是前插还是后插,两

相关文档