资源描述
C+程序设计实验报告学 号:姓 名:提交日期:2010-06-06成 绩:东北大学秦皇岛分校实验一:数据类型与表达式实验目的:1、熟悉并学习使用C+程序编译平台VC6.0;2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的C+程序;3、掌握C+语言基础数据类型,熟悉变量定义和赋值方法;4、学会使用C+算术运算符和算术表达式;题目3 简单应用求圆柱体的体积实验代码:#include using namespace std;#define PI 3.14159int main() int radius,high; double volume; coutplease input two number:radiushigh; volume=PI*radius*radius*high; coutradius:radiushigh:highendl; coutThe volume is:volumeendl; return 0; 实验结果: 实验二 C+程序设计初步实验目的1、掌握C+程序的赋值和输入输出语句的使用方法;2、掌握C+程序控制的3 种基本结构:顺序结构、选择结构和循环结构的实现;3、掌握简单C+程序的编写和调试题目1 计算员工周工资编写一个程序,输入某雇员的每周工作时间(以小时计)和每小时的工资数,计算并输出他的工资。若雇员周工作小时超过40 小时,则超过部分按原工资的1.5 倍的加班工资来计算。若雇员每周工作小时超过60 小时,则超过60 的部分按原工资的3 倍的加班工资来计算,而40 到50 小时的工资仍按照原工资的1.5 倍的加班工资来计算。1、要求有输入提示和输出提示,如要输入雇员的工作时间和每小时的工资值时,可以提示:“Please input employees work time and wage_per_hour:”输出时,提示:“The employees wage :”。2、 给你的程序加上注释,并注意排版格式,使得其清晰可读。实验代码:#include #include using namespace std;int main() double time,twage; double wage; coutPlease input employees work time and wage_per_hour:timetwage; while(time!=0&twage!=0) /如果输入为0则推退出,不为零则循环 while(time0|twage168)/判断输入的数是否符合条件,如果不符合则重新出入,直到符合条件为止 coutEORROR!endl; coutPlease input employees work time and wage_per_hour:timetwage; if(time=40)/工作时间小于40小时的情况 wage=time*twage; else if(time60)/工作时间大于60小时的情况 wage=40*twage+20*1.5*twage+(time-60)*3*twage; coutThe employees wage :wageendl; coutPlease input employees work time and wage_per_hour:timetwage; system(pause); return 0; 实验结果:实验三 函数与程序结构实验目的1、掌握函数声明、定义和使用的方法;2、掌握函数递归调用的方法;3、掌握全局变量、局部变量、静态局部变量的概念和使用方法;4、掌握定义头文件的方法,学会建立和调试多文件程序;5、学习函数重载的实现;题目2 函数的递归调用和多文件结构编写一个函数,求从 n 个不同的数中取r 个数的所有选择的个数。其个数值为:其中: n! = n * (n-1) * (n-2) * . * 1。1、基本要求:主程序中设计一个循环,不断从输入接收 n 和r 的值,计算结果并输出,当用户输入00 时,程序结束;能检查输入数据的合法性,要求 n=1 并且n=r;2、分别用递归和非递归两种方式完成程序设计;3、多文件结构实现将上面用非递归方式写成的程序改成用多文件结构表示。要求将main()函数放在一个文件中,将另外两个函数定义放在另一个C+源文件中,将两个函数原型申明放在一个C+头文件中。建立一个项目,将这三个文件加到你的项目中,编译连接使你的程序正常运行。实验代码:#includeusing namespace std;int fn(int n)int i;int N=1;for(i=1;i1) return fn(n)/(fn(r)*fn(n-r);int C(int n,int r)int c;if(r=0) return 0;if(r=1) return n;if(r=2) return C(n,r-1)*(n-r+1)/r;int main()int n,r;docoutinput n and r:nr;if(n=0&r=0)cout=r&n=1) cout从n中选r个数有C(n,r)种方法。(递归方法)endl; cout从n中选r个数有Cnr(n,r)种方法。(非递归方法)endl;else couterrorn;while(n!=0&r!=0);return 1;system(pause);实验结果:实验四数组实验目的1、掌握一维数组和二维数组的定义、赋值和输入输出方法;2、掌握字符数组和字符串的使用;3、掌握给函数传递数组参数的方法;4、掌握与数组有关的简单数据结构和算法;实验内容题目1 排序查找用选择法对 15 个学生的成绩按从大到小的顺序排序,15 个学生的成绩整数用cin 输入,如果输入的成绩不在0,100之间,则提示“输入错误”。排序完成后,输入一个成绩,要求用折半查找法找出该成绩是该组中第几个元素的值(即第几名)。如果该成绩不在数组中,则输出“无此成绩”。要求:1、把排序算法写成函数形式,在主函数中输入15 个数据,然后调用排序函数排序。2、在排序过程中尽量减少数据的交换和移动。3、把查找算法写成函数形式,在主函数中输入1 个数据,然后调用查找函数排序。实验代码:#include #include using namespace std;void sord(int score) int i,j,min;for(j=1;j15;j+)min=scorej-1;for(i=j;iscorei)min=scorei; scorei=scorej-1; scorej-1=min;coutThe scores have been sorted:endl; for(i=0;i15;i+) coutscoreiendl; void Search(int score) int t; coutPlease input the scord you want to search:t; int low,mid,high,sigh; low=0;high=14;sigh=0; while(low=high) mid=(low+high)/2; if(t=scoremid) coutThe score has been found,in themid+1th.endl; low=14; sigh=1; else if(tscoremid) high=mid-1; else low=mid+1; if(sigh=0) coutNo exist the score!endl; int main() int score15; int i; coutPlease input 15 number:endl; for(i=0;iscorei; while(scorei100) coutYou have inputted a wrong num,please repeat:scorei; coutYou have input:endl; for(i=0;i15;i+) coutscoreiendl; sord(score); Search(score); system(pause); return 0;实验结果:如果输入91则:
展开阅读全文