C++实验报告Word下载.docx
《C++实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《C++实验报告Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
{
intradius,high;
doublevolume;
cout<
<
"
pleaseinputtwonumber:
endl;
cin>
>
radius>
high;
volume=PI*radius*radius*high;
radius:
radius<
high:
high<
Thevolumeis:
volume<
return0;
}
实验结果:
实验二C++程序设计初步
实验目的
1、掌握C++程序的赋值和输入输出语句的使用方法;
2、掌握C++程序控制的3种基本结构:
顺序结构、选择结构和循环结构的实现;
3、掌握简单C++程序的编写和调试
题目1计算员工周工资
编写一个程序,输入某雇员的每周工作时间(以小时计)和每小时的工资数,计算并输
出他的工资。
若雇员周工作小时超过40小时,则超过部分按原工资的1.5倍的加班工资来
计算。
若雇员每周工作小时超过60小时,则超过60的部分按原工资的3倍的加班工资来
计算,而40到50小时的工资仍按照原工资的1.5倍的加班工资来计算。
1、要求有输入提示和输出提示,如要输入雇员的工作时间和每小时的工资值时,可以
提示:
“Pleaseinputemployee’sworktimeandwage_per_hour:
”
输出时,提示:
“Theemployee’swage:
”。
2、给你的程序加上注释,并注意排版格式,使得其清晰可读。
stdlib.h>
doubletime,twage;
doublewage;
Pleaseinputemployee’sworktimeandwage_per_hour:
time>
twage;
while(time!
=0&
&
twage!
=0)//如果输入为0则推退出,不为零则循环
{
while(time<
0||twage<
0||time>
168)//判断输入的数是否符合条件,如果不符合则重新出入,直到符合条件为止
{
EORROR!
}
if(time<
=40)//工作时间小于40小时的情况
wage=time*twage;
elseif(time<
=60)//工作时间为40到60小时之间的情况
wage=40*twage+(time-40)*1.5*twage;
elseif(time>
60)//工作时间大于60小时的情况
wage=40*twage+20*1.5*twage+(time-60)*3*twage;
Theemployee’swage:
wage<
}
system("
pause"
);
实验三函数与程序结构
1、掌握函数声明、定义和使用的方法;
2、掌握函数递归调用的方法;
3、掌握全局变量、局部变量、静态局部变量的概念和使用方法;
4、掌握定义头文件的方法,学会建立和调试多文件程序;
5、学习函数重载的实现;
题目2函数的递归调用和多文件结构
编写一个函数,求从n个不同的数中取r个数的所有选择的个数。
其个数值为:
其中:
n!
=n*(n-1)*(n-2)*...*1。
1、基本要求:
主程序中设计一个循环,不断从输入接收n和r的值,计算结果并输出,当用户输入0
0时,程序结束;
能检查输入数据的合法性,要求n>
=1并且n>
=r;
2、分别用递归和非递归两种方式完成程序设计;
3、多文件结构实现
将上面用非递归方式写成的程序改成用多文件结构表示。
要求将main()函数放在一个文
件中,将另外两个函数定义放在另一个C++源文件中,将两个函数原型申明放在一个C++
头文件中。
建立一个项目,将这三个文件加到你的项目中,编译连接使你的程序正常运行。
#include<
intfn(intn)
inti;
intN=1;
for(i=1;
i<
=n;
i++)
N=N*i;
returnN;
intCnr(intn,intr)
{
if(r==0)return1;
elseif(r==1)returnn;
elseif(r>
1)returnfn(n)/(fn(r)*fn(n-r));
intC(intn,intr)
intc;
if(r==0)return0;
if(r==1)returnn;
if(r>
=2)returnC(n,r-1)*(n-r+1)/r;
}
intn,r;
do
cout<
inputnandr:
cin>
n>
r;
if(n==0&
r==0)
{
cout<
end."
;
break;
}
elseif(n>
=r&
=1)
从"
n<
中选"
r<
个数有"
C(n,r)<
种方法。
(递归方法)"
Cnr(n,r)<
(非递归方法)"
elsecout<
error\n"
}while(n!
r!
=0);
return1;
system("
实验四数组
1、掌握一维数组和二维数组的定义、赋值和输入输出方法;
2、掌握字符数组和字符串的使用;
3、掌握给函数传递数组参数的方法;
4、掌握与数组有关的简单数据结构和算法;
实验内容
题目1排序查找
用选择法对15个学生的成绩按从大到小的顺序排序,15个学生的成绩整数用cin输入,
如果输入的成绩不在[0,100]之间,则提示“输入错误”。
排序完成后,输入一个成绩,要
求用折半查找法找出该成绩是该组中第几个元素的值(即第几名)。
如果该成绩不在数组中,
则输出“无此成绩”。
要求:
1、把排序算法写成函数形式,在主函数中输入15个数据,然后调用排序函数排序。
2、在排序过程中尽量减少数据的交换和移动。
3、把查找算法写成函数形式,在主函数中输入1个数据,然后调用查找函数排序。
voidsord(intscore[])
inti,j,min;
for(j=1;
j<
15;
j++)
min=score[j-1];
for(i=j;
if(min>
score[i])
min=score[i];
score[i]=score[j-1];
score[j-1]=min;
cout<
Thescoreshavebeensorted:
for(i=0;
score[i]<
}
}
voidSearch(intscore[])
intt;
Pleaseinputthescordyouwanttosearch:
t;
intlow,mid,high,sigh;
low=0;
high=14;
sigh=0;
while(low<
=high)
mid=(low+high)/2;
if(t==score[mid])
Thescorehasbeenfound,inthe"
mid+1<
th."
low=14;
sigh=1;
elseif(t<
score[mid])
high=mid-1;
else
low=mid+1;
if(sigh==0)
Noexistthescore!
intscore[15];
Pleaseinput15number:
score[i];
while(score[i]<
0||score[i]>
100)
Youhaveinputtedawrongnum,pleaserepeat:
Youhaveinput:
sord(score);
Search(score);
如果输入91则:
【此文档部分内容来源于网络,如有侵权请告知删除,本文档可自行编辑和修改内容,感谢您的支持!
】