c实验答案

合集下载

c程序设计实验参考答案

c程序设计实验参考答案
编程求出某学生期末三门课程的总分及平均分。结果保留小数点后一位。
main( )
{ float a,b,c;
float s,v;
scanf("%f,%f,%f,%f",&a,&b,&c);
s=a+b+c;
v=s/3.0;
printf("\n%7.1f,%7.1f",s,v);
}
实验五参考答案
一.1、a=10,b=30,c=10
}
2、main()
{int i;
double m=100000,n,s;
n=0.01;
s=0;
for(i=1;i<=30;i++)
{s+=n;
n=n*2;
}
printf("%f %f\n",s,m*30 );
}
实验八参考答案:
一.1、s=12345
2、7,
5,
3,
3、<1,2>=6
二.1、% for(j=k;j>0;j--)
第4行改为scanf("%d",&a[i]);
第12行改为printf("av=%d\n",av);
四.1、分析:C中数组长度必须是确定大小,即指定N的值。排序的方法有多种,取出其中两种作为参考。
方法一:起泡排序
从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比
{ case 10:
case 9: ch='A'; break;
case 8: ch='B'; break;

C语言上机实验

C语言上机实验

实验一(第1章实验)实验目的:1.掌握运行C语言程序的全过程。

2.熟悉编译环境。

3.初步熟悉C语言程序的语法规定。

4.了解简单函数的使用方法。

实验内容:1.编程且上机运行:求3个整数的和。

2.编程且上机运行:求2个数的和、差、积和商。

3.编程且上机运行:输入3个数,求最大值。

4.编程且上机运行:输入圆的半径,求圆的面积和周长。

5.在屏幕上输出:“hello world!”实验结果:实验二(第3章实验)1.实验目的:理解C语言的类型系统。

实验内容:写程序测试数据-2在类型char,int,unsigned int,long int,unsigned long int 中存储情况。

实验过程:实验结果:参见各种类型的存储实现描述。

2.实验目的:了解混合类型计算中类型的转换规则。

实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。

注意unsigned int和int数据运算时类型转换的方向。

实验过程:/** 类型转换问题* 试问下面两个表达式等价吗?*/#include <stdio.h>#include <stdlib.h>int main() {unsigned int ui,uj;ui = 1;uj = 2;if (ui < uj)printf("\n%u < %u is true !\n", ui, uj);elseprintf("\n%u < %u is false !\n", ui, uj);if (ui - uj < 0)printf("\n%u - %u <0 is true !\n", ui, uj);elseprintf("\n%u - %u <0 is false !\n", ui, uj);system("pause");return 0;}实验结果:参见类型转换规则。

大学物理实验c思考题部分答案2

大学物理实验c思考题部分答案2

物体密度测量1、用天平称得物体在空气中的质量为M ,若手提物体全部浸没在水中(水的密度 0ρ)时的质量为m ,则此时电子天平显示的数值是多少?如果手不提着物体,让物体沉入水中,此时电子天平显示的数值又是多少?(假设烧杯及水的质量为M 0) 10%答:若手提物体时:M 0+(M-m) (5分)手不提着物体时:M 0+M (5分)2、用数字显示仪表(如电子天平)测量物理量时,连续记下一定时间间隔的各个显示值。

如各个显示值不同是否为偶然误差?如各个显示值相同是否认为没有误差。

10%答:如各个显示值不同是为偶然误差。

(5分)如各个显示值相同不能认为没有误差。

(5分)扭摆法测物体转动惯量1、物体的转动惯量与哪些因素有关? 10%答:转动惯量与物体质量、转轴的位置和质量分布(即形状、大小和密度分布)有关。

(10分)2、实验过程中要进行多次重复测量对每一次摆角应做如何处理? 10%答:为了降低实验时由于摆动角度变化过大带来的系统误差,在测定各种物体的摆动周期时,摆角不宜过小、也不宜变化过大,整个测量过程宜使摆角在900左右。

(10分)静电场描绘1、用电流场模拟静电场的条件是什么? 10%答:几何形态完全一样,物理表达式一样,边界条件一样。

(10分)2、如果电源电压Ua 减小一倍,等位线和电力线的形状是否发生变化?电场强度和电位分布是否发生变化?为什么? 10%答:如果电源电压Ua 减小一倍,等位线和电力线的形状没有发生变化。

(3分)电场强度和电位分布发生变化。

(3分) 因为根据物理表达式rr r uE a ba r 1ln ∙=,可以得出同一位置电场强度也减小一倍,等电位分布也变得更稀疏。

(4分)惠斯登电桥研究1、电桥灵敏度是否越高越好?哪些量关系到电桥灵敏度 ?答:不是。

与电桥灵敏度S 相关的物理量有:电源电压大小、桥臂电阻大小、桥臂电阻大小分配比例、监测仪表的灵敏度和内阻。

2、惠斯登电桥不能应用于测量低值电阻的原因是什么?不能应用于测量高值电阻的原因又是什么?答:对于低电阻,由于存在数字电压表的输入阻抗、接触电阻和导线电阻,使得测量电阻失去准确性;对于高电阻,由于测量电阻越高,则电桥的总电阻越大,则电流越小。

C语言程序设计实验实验指导书及答案

C语言程序设计实验实验指导书及答案

实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1. 熟悉C语言Visual C++调试环境。

2. 掌握C程序的编辑、调试及运行。

二、实验内容项目1. 调试并运行下面程序,并写出运行结果:#include <>int main(){printf(“Good morning!\n”);printf(“Hello,world!\n”);return 0;}运行结果(注意,按照屏幕输出格式写):项目2. 调试并运行下面程序,并写出运行结果:#include <>int main(){int a , b , sum; /*定义变量*/a=23; b=56; /*为变量赋值*/sum=a+b; /*计算两个变量的和*/printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0;}运行结果:项目3. 调试并运行下面程序,并写出运行结果:#include <>int max(int,int);int main(){int a , b , c; /*定义变量*/a=23; b=56; /*为变量赋值*/c=max(a,b); /*调用max函数,将得到的值赋给c*/printf(“max is %d\n”,c); /*输出c的值*/return 0;}int max(int x,int y) /*定义max函数,函数值为整型*/ {int z; /*定义变量*/if(x>y)z=x;elsez=y;return(z); /*将z的值返回*/}运行结果:三、提高部分1.试想,如果求10个数中的最大者,则程序该如何编写。

程序代码运行结果:实验二数据及其运算班级学号姓名成绩一、实验目的1. 掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法。

2. 掌握算术表达式、关系表达式及逻辑表达式的特点及用法。

C语言程序设计实验三答案

C语言程序设计实验三答案

实验三 选择结构程序设计一、实验目的与要求1. 理解C 语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。

2. 掌握利用if 结构实现选择结构的方法。

3. 掌握利用switch 结构实现多分支选择结构。

4. 结合程序掌握一些简单的算法,学习调试程序5. 实验4学时二、实验内容1.程序改错题改正下面程序中的错误。

输入实数x ,计算并输出下列分段函数f(x)的值(保留1位小数)。

)100(1=x x==)(x f y)100(≠x x输入输出示例1(改正后程序的运行结果)Enter x :100f )=输入输出示例2(改正后程序的运行结果)Enter x :23f )=源程序(有错误的程序)#include<>#include<>void main(void){double x;printf("Enter x: \n");scanf("=%f", x);if (x = 100) {y = 1/sqrt(x)}else (x != 100) {y = x;}printf("f(%.2f) = %.1f\n",x,y);}答:#include<>#include<>void main(void){double x,y;printf("Enter x:\n");scanf("%lf",&x);if (x=100)y = 1/sqrt(x);elsey= x;printf("f(%.2lf)=%.1lf\n",x,y);}2.一般编程题编程题1输入任意三个整数a,b,c ,求3个数中的最大值和最小值。

答:#include <>void main(){int a,b,c;printf("请输入三个整数:");scanf("%d %d %d",&a,&b,&c);if (a>=b)t=a,a=b,b=t;if (a>=c)t=a,a=c,c=t;if (b>=c)t=b,b=c,c=t;printf("最小值为:%d\n",a);printf("最大值为:%d\n",c);}编程题2输入x ,计算并输出下面分段函数f(x)的值(保留2位小数)。

c程序设计教程与实验课后答案

c程序设计教程与实验课后答案

c程序设计教程与实验课后答案【篇一:c程序设计教程与实验第10章习题参考答案】题1.二进制文本2.rewind()3.字节流式4.”abc.dat” “rb”5.06.将文件位置指针从文本末尾处向文件头的方向移动10个字节7.将文件file1.txt的内容输出到屏幕8.将f1的字符保存到f2中9.rfetc(fp)num++10.fopen(“file.dat”,”wb”)dt,1,9,fp三、程序分析题1. 242.复制f1到f23.1.14.1177995. 65a 66b 67c 68d 69e 70f 71g 72h 75k 76l 77m 78n 79o 80p 81q 82r 85u 86v 87w 88x 89y 90z四、编程题1.#includestdio.h#includestdlib.hint main(){char file[10],file1[10],ch;file *in,*out;scanf(%s,file);scanf(%s,file1);if((in=fopen(file,r))==null){printf(cant open file\n);exit(0);}if((out=fopen(file1,w))==null) 73i 74j 83s 84t {printf(cant open file1\n);exit(0);}while(!feof(in)){ch=fgetc(in);fputc(ch,out);putchar(ch);}fclose(in);fclose(out);return 0;}2.#include stdio.h#includestring.h#include errno.hint main(void){file *fp;char ch;if (null == (fp = fopen(g3, r))){printf(fopen g3 error: %s\n, strerror(errno)); return 0;}while ((ch = fgetc(fp))!=eof){printf(%c, ch); }fclose(fp);printf(\n);return 0;}3.#includestdio.hvoid main(){file *fp; /*定义一个文件指针*/int i;double a[10];if((fp=fopen(data.txt,wb+))==null){printf(file can not open,press any key to exit!\n); getch(); /*从键盘上任意输入一字符,结束程序*/exit(1);}for(i=0;i10;i++)scanf(%lf,a[i]);for(i=0;i10;i++)fwrite(a+i,sizeof(double),1,fp);printf(\n);rewind(fp);fread(a,sizeof(double),10,fp);for(i=0;i10;i++)printf(%f\n,a[i]);printf(\n);fclose(fp);}4.#includestdio.hvoid main(){file *fp;int a[80],i,j;int a,b,c;a=b=c=0;if(fp=fopen(g4.dat,r))==null)printf(读取失败\n);for(i=0;i80;i++){fscanf(fp,%d,a[i]);if(fp==eof)break;}for(j=0;j=i;j++){if(a[i]0) a++;if(a[i]0) b++;if(a[i]==0) c++;}printf(正=%d,负=%d,零=%d\n,a,b,c);5.#includestdio.hstruct student{char num[10];char name[8];int score[2];float ave;} stu[3];void main(){int i,j,sum;file *fp;for(i=0;i3;i++){printf(\ninput score of student %d:\n,i+1);printf(no.:);scanf(%s,stu[i].num);printf(name:);scanf(%s,stu[i].name);sum=0;for(j=0;j2;j++){printf(score %d:,j+1);scanf(%d,stu[i].score[j]);sum+=stu[i].score[j];}stu[i].ave=sum/2.0;}fp=fopen(stud,w);for(i=0;i3;i++)if(fwrite(stu[i],sizeof(struct student),1,fp)!=1) printf(file write error\n);fclose(fp);fp=fopen(stud,r);for(i=0;i3;i++){fread(stu[i],sizeof(struct student),1,fp);printf(\n%s,%s,%d,%d,%d,%6.2f\n,stu[i].num,stu[i].name,stu[i]. score[0], stu[i].score[1],stu[i].score[2],stu[i].ave);}}【篇二:c语言程序设计实训教程习题和实验解答】ss=txt>2.1 c语言概述【习题解答】1结构化程序有三大基本结构:顺序、分支和循环.2..算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。

C语言程序设计实验与习题(1-4)

ffB v vbvv bgbb实验一C程序运行环境及简单程序的运行2.程序改错并调试改正后的程序⑴下列程序的功能为:计算x*y的值并将结果输出,程序中有8处错误,尝试改正并上机调试之(程序以文件名sy1_2.cpp#include <stdio.h>void main{ int x=2;y=3;aA=x*yprint ("a=%d",a);printf(‘\n’);}⑵下列程序的功能为:输入圆的半径,计算圆面积并将结果输出;程序中有9处错误,尝试改正并上机调试之(程序以文件名sy1_3.cpp存盘)。

#include stdio.h;int mian();float r; area;printf("input r:\n"); scanf("%f",r);area=3.14159r*r;printf("r=%f , area=%f\n"3.编写程序并上机调试⑴输入三个整数a、b、c,显示出其中的最大值。

4.分析与总结⑴总结C程序的结构和书写规则。

⑵阅读:附件1-C语言程序的跟踪调试。

特别提示:当程序在编译时发现很多错误,此时应从上到下逐一改正,或改一个错误,就重新再编译,因为有时一个错误会引起很多错误信息。

12习题一一、选择题参考答案:1~5 C B A C D 6~10 C C A C B 11~14 A A C B二、综合题绘制NS 算法流程图。

(1)输入10个数,求其中的最大值。

(2)输入3个数,将它们升序排列输出。

(3)输入2个数,求它们的最大公约数。

(4)输入一元二次方程的系数a 、b 、c ,判断其根。

实验二顺序结构程序设计1.阅读程序,尝试写出程序的运行结果,然后输入并调试程序,对照其实际输出与分析的结果是否一致,若不一致,请找出原因。

⑴以下程序用于测试C中不同类型数据所占内存字节数,运行并体会sizeof运算符的使用方法。

C语言实验题及参考答案

实验一1、计算整数各位数字之和(10 分)输入一个3 位正整数,将其每一位的数字相加,输出和输入格式:输入一个3 位正整数。

变量数据类型为unsigned 。

输出格式:输出整数每一位相加后的整数和。

输入样例:输出样例:【参考答案】#include "" int main(){ unsigned int a,ge,shi,bai,sum;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;sum=ge+shi+bai;printf("%d\n",sum);return 0;}2、计算代数表达式(10 分)求:输入格式:输入角度x。

变量数据类型为double 。

π 为。

输出格式:输出y 的值,精确到小数点后2 位。

输入样例:输出样例:【参考答案】#include <>#include <>#define PIint main(){double x,y;scanf("%lf",&x); y=sqrt((sin(60*PI/180)+1)*(sin(30*PI/180)+1)/cos(x*PI/180));printf("%.2lf",y);return 0;}3、逆序的三位数 (10 分)程序每次读入一个正3 位数,然后输出按位逆序的数字。

有结尾的0 时,输出不应带有前导的0。

比如输入700,输入格式:每个测试是一个3 位的正整数。

输出格式:输出按位逆序的数。

输入样例:输出样例:注意:当输入的数字含输出应该是7。

【参考答案】#include ""int main(){ int a,ge,shi,bai,b;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;b=ge*100+10*shi+bai;printf("%d\n",b);return 0;}4、求整数均值 (10 分)本题要求编写程序,计算4 个整数的和与平均值。

c语言实验报告三答案(完整版)

实验三循环控制实验课程名:高级语言程序设计(C)专业班级:学号:姓名:实验时间:实验地点:指导教师:一、实验目的和要求1. 熟练掌握用while语句、do while语句和for语句实现循环的方法。

2. 掌握在程序设计中用循的方法实现一些常用算法。

并进一步学习调试程序的方法。

二、实验内容1、任务名称程序c40101.c求1+…+100,填空,实现该功能。

(1、)源代码:#include<stdio.h>int main(){int s,i;s=0;for(i=1;i<=100;i++)s=s+i;printf("1+2+...+100=%d\n",s);return 0;}运行结果:(需要截图)(2、)源代码:#include<stdio.h>int main(){int s=0,i=1;while(i<=100){s+=i;i++;}printf("1+2+...+100=%d\n",s);return 0;}运行结果:运行结果分析:2、任务名称:分别运行这两个程序,若输入7,这两个程序的结果分别是多少?若输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区别?(1、)源代码:#include <stdio.h>void main(){ int i,n,sum=0;scanf("%d",&i);n=i;while(i<=10){ sum+=i;i++;}printf("%d+...+10=%d\n",n,sum);}运行结果:(需要截图)(2、)源代码:#include <stdio.h>int main(){ int i,n,sum=0;scanf("%d",&i);n=i;do{ sum+=i;i++;} while(i<=10);printf("%d+...+10=%d\n",n,sum);return 0;}运行结果:运行结果分析:3、任务名称:下面程序,若输入12345,分析输出结果是多少?源代码:#include <stdio.h>void main( ){ long data;scanf("%ld",&data);while(data){ printf("%ld,",data%10);data=data/10;}}运行结果:(需要截图)运行结果分析:4、任务名称:程序c40104.c 实现求Fibonacci 数列的前n 个数。

济南大学c语言实验答案(DOC)

实验2 顺序结构程序设计1. 编写程序,从键盘输入一个大写字母,将它转换为对应的小写字母后输出。

参考程序:#include "stdio.h"void main(){char ch;printf(“\nPlease input a capital character:”);scanf(“%c”,&ch);ch=ch+32;printf(“\nThe small letter is %c”,ch);}2.编写程序,输入圆半径r ,求圆周长、圆面积、圆球体积。

参考程序:#include <stdio.h>#include <math.h>#define PI 3.14void main(){float r,c,area,v;printf(“\nPlease input the r:”);scanf(“%f”,&r);c=2*PI*r;area=PI*r*r;v=4.0/3*PI*pow(r,3);printf(“\nThe circle’s perimeter is %.2f”,c);printf(“\nT he circle’s area is %.2f”,area;printf(“\nThe circle’s volume is %.2f”,v);}3. 输入一个华氏温度,要求输出摄氏温度。

公式为:()3295-=F c 输出要有文字说明,取2位小数。

参考程序:#include <stdio.h>void main(){float f,c;printf(“\nPlease input a F temperature:”);scanf(“%f ”,&f);c=5.0/9*(f-32);printf(“\nThe temperature is %.2f ”,c);}4. 有3个电阻r1、r2、r3并联,编写程序计算并输出并联后的电阻r 。

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

创新源于实践《面向对象C++程序设计》实验指导书计算机科学与技术学院《面向对象C++程序设计》课程组实验指导书目录实验一 C++基础练习 (1)实验二 C++简单程序设计练习 (4)实验三类与对象(一) (9)实验四类与对象(二) (14)实验五派生类与继承 (21)实验六虚函数与多态性 (31)实验七函数模板与类模板 (40)实验八输入输出的格式控制 (44)实验九文件的输入输出 (49)实验十综合练习 (55)实验十一设计时间类——计算程序的运行时间 (67)附录:C++语言上机实验环境介绍 (70)实验一 c++基础练习一、实验性质验证性实验2学时二、实验目的和要求1.掌握c++程序的基本格式与规范,学会编写简单的c++程序。

2.理解c++程序结构的特点。

3.熟悉c++程序基本的输入输出操作。

4.掌握c++数据类型常量和变量以及修饰符的使用方法。

5.掌握函数定义、函数调用和函数说明的方法。

6.熟悉作用域运算符的功能和基本使用方法。

7.掌握c++内存的动态分配与释放方法。

8.理解引用的概念,掌握引用的使用方法。

三、实验内容:1编写一个简单程序,输出“welcome you”,并给程序加一行注释“fisrt c++ program”。

2编写一个完整的包含输入和输出的简单c++程序。

3编写内置函数求解2x^+4x+5的值,x为整数,并用主函数调用该函数。

利用函数重载,重载上面的函数,x为浮点数。

4编写一个程序,对一个整数数组求和,求和的结果使用全局变量sum存储,同时对整数中的奇数求和,结果使用局部变量sum存储,在主程序将两个结果输出。

本题要求体会和理解作用域运算符的概念与基本使用方法。

5编写一个程序动态分配一个浮点空间,输入一个数到该空间中,计算以该数为半径的圆的面积并在屏幕上显示,最后释放该空间,请使用new,delete运算符。

四、实验步骤第一步:根据实验内容编写下面的代码进行调试。

#include <iostream.h>void main(){ // first c++ programcout<<”\n welcome you \n”;}第二步:下面的程序对用户输入的口令进行判断,输出不同的结果。

#include <iostream.h>void main(){int pass;cout<<”\n please input you password:”;cin>>pass;if (pass==12345) cout<<”welcome you.”;else cout<<”your password is not right.”;}第三步:根据题目要求编写下面的代码进行调试。

#include <iostream.h>inline int f(int x){return 2*x*x+4*x+5;}void main(){cout<<f(5)<<endl;}第四步:根据题目要求编写下面的代码进行调试。

#include <iostream.h>inline double f(double x){return 2*x*x+4*x+5;}inline double f(double x){return 2*x*x+4*x+5;}void main(){int x=5;double y=5.2;cout<<f(x)<<endl;cout<<f(y)<<endl;}第五步:在主函数内外同时使用sum做计数器,并在主函数中同时使用。

#include <iostream.h>int a[]={1,2,3,4,,5,6,7,8,9,10};int sum;void main(){int i;int sum=0;for (i=0;i<10;i++){ if (a[i]%2!=0) sum=sum+a[i];∷sum= ∷sum+a[i];}cout<<” sum of all is:”<< ∷sum;cout<<” sum of odd is:”<<sum;}第六步;根据题目要求编写代码如下。

#include<iostream.h>void main(){double *r;r=new double;cin>>*r;cout<<”area is:”<<3.14*(*r)*(*r); delete r;}实验二 c++简单程序设计练习一、实验性质验证性实验2学时二、实验目的和要求1.掌握if语句的用法。

2.掌握switch语句的用法。

3.掌握循环和多重循环的用法。

4.掌握递归函数的用法。

5.掌握简单的指针操作方式。

6.掌握c++内存的动态分配与释放方法。

三、实验内容根据输入的百分制按五分制的成绩输出。

百分制与五分制之间的关系见下表。

分别使用if分支结构和switch结构编写程序。

编写程序列出婓波那挈(fibonacci)数列的前20项。

分别用迭代和数组的方法编程。

输入100个整数,从小到大排列并输出。

使用递归方法解决背包问题:设有一个背包可以放入的物品数量为s,现有n 件物品,重量分别为w1,w2,…,wn,问能否从这n件物品中选择若干件放入此背包,使得放入的重量之和正好为s。

如果存在一种符合上述要求的选择,称此问题有解,否则问题无解。

读入9个双精度的数,把他们存放在一个存储块里,然后求出它们的积。

使用动态分配和指针操作。

四、实验步骤# include <iostream.h>void main(){int score;char grade;cout<<”please input score:”<<end;cin>>score;if (score>=0&&score<=100){if (score>89) grade=’5’;else if (score>79) grade=’4’;else if (score>59) grade=’3’;else grade=’2’;cout<<”grade is ”<<grade<<end;}elsecout<<”data error\007\n”;}第二步:使用switch结构解决成绩问题转换问题。

# include <iostream.h>void main(){int score ,s,sun; char grade;c out<<”please input score:”<<end;cin>>(score);if score){s=score/10;switch (s);{case 0;case 1;case 2;case 3;case 4;case 5; grade=’2’;break;case 6;case7; grade=’3’;break;case 8; grade=’4’;break;case 9;case 10; grade=’5’;break;}cout<<”grade is ”<<grade<<end;}elsecout<<”data error\007\n”;}第三步:使用双重循环解决素数问题。

# include <iostream.h>void main(){int i,j;for (i=3;i<=100;i++){for (j=2;j<i-1;j++)if (i==j)cout<<i<<” ”;}cout<<”\n”;}第四步:使用迭代方法解决裴波那契数列问题。

# include <iostream.h>void main(){int a,b,j,f;a=1;b=1;cout<<a<<” ”<<b<<” ”;for (j=3;j<=20;j++){f=a+b;a=b;b=f;cout<<f<<” ”;if (j%5==0) cout<<”\n”; //每输出5个换行}}第五步:使用数组方法解决裴波那契数列问题。

# include <iostream.h>void main(){int i,fib[20]={1,1}; //初始化for (i=2;i<20;i++)fib[i]=fib[i-1]+fib[i-2];for (i=1;i<=20;i++);{cout<<fib[i-1]<<” ”;if (i%5==0) cout<<”\n”; //每输出5个换行}}第六步:使用选择法解释排序问题。

# include <iostream.h>void main(){int i,j,data[120],temp;int min_a;cout<<”\nplease input ”<<size<<” int: ”;for (i=0;i<=size;i++)cin>>data[i];for (i=0;i<size;i++){min_a=i;for (j=i;j<size;j++)if (ata [j]<data[min_a])min_a=j;data [min_a]=data[i];data [i]=temp;}cout<<”\nafter sorted:”;for (i=0;i<size;i++)cout<<” ”<<data[i]<<” ”;}第七步:使用递归方法解决背包问题。

# include <iostream.h>void main(){int f;if (s==0) f=1;else if ((s<0) ||((s>0) &&(n<!))) f=0;else if (knap (s-w[n],n-1)==1) { cout<<”\nw[“<<n<<”]=”<<w[n];f=1;}else f=knap (s,n-1);return f;}void main(){int i;i=knap(29,8);if (i==0)cout<<”no solution\n”; //背包问题无解第八步:使用动态分配和指针操作求9个double数的乘积。

相关文档
最新文档