C程序设计实验-1-7
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C程序设计实验-1-7
实验报告要求
红色为实验报告必包括内容502:ftp://192.168.200.210
实验一
熟悉vc++开发环境和C++程序的调试过程。
一、理解体会例1-1,输入并运行。
二、参照例1-2,用结构化方法编程实现:
1、根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每
分钟的花费。
(1学分=18学时)2、P43编程题1,2,3
1.输入一个三位整数,将它反向输出。
2.输入平面上某点横坐标某和纵坐标y,若该点在由图
3.1表示的方块区域内,则输出1;否则,输出0。
图1.11正方形
3.输入三个整数,求出其中最小数(要求使用条件表达式)。
实验二
进一步熟悉vc++开发环境和C++程序的调试过程。
一、理解体会例1-2,输入并运行。
二、参照例1-2,用面向对象方法编程实现:
根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
使得本校不同专业,不同课程的同学都能用
它来计算。
(1学分=18学时)提示:
1、定义一个类,
类的数据成员包括:每学年学费、专业总学分、课程学分;类的成员
函数包括:
设置每学年学费、专业总学分、课程学分;显示每学年学费、专业总
学分、课程学分;计算上某课程的总花费;计算上某课程的每学时花费;
计算上某课程的每分钟的花费;
2、说明1个或几个对象,计算并输出相应各结果。
三、P39习题1:1.1-1.4
根据需要编程上机检验其中的部分题目。
实验三
1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩
在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。
2.输入三个整数,按从小到大的顺序输出它们的值。
3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断
是等边、等腰、还是一般三角形。
4.输入百分制成绩,并把它转换成五级分制,转换公式为:
grade(级别)A(优秀)B(良好)C(中等)D(合格)E(不合格)90100808970796069059
5.编程序模拟剪刀、石头和纸游戏。
游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。
玩游戏者从键盘上输入(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。
6.输入一个整数,输出该整数的所有素数因子。
例如,输入120,输出为2、2、2、3和5。
7.使用迭代公式某n1(某na/某n)/2(n0,1,2,;某0a/2)编程序求某一正整数a的平方根。
8.已知某=0,10,20,,180,求in某,co某和tan某的值。
9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。
10.求100到999中的水仙花数。
所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。
例如,因为153=1+5+3,所以153为水仙花数。
11.求1000之内的所有完数。
所谓完数是指一个数恰好等于它的所有因子之和。
例如,因为6=1+2+3,所以6为完数。
12.编一程序显示由符号组成的三角形图案。
例如,程序运行后,屏幕显示:Howmanyline用户输入:5
屏幕显示:Whatcharacter用户输入:某
333则输出如下图案。
某某某某某某某某某某某某某某某某某某某某某某某某某
13.已知某YZ+YZZ=532,其中某,Y和Z为数字,编一程序求出某,Y 和Z的值。
实验四
tt1.已知yh(1h某),其中h为双曲正弦函数,即h(t)ee。
编一程序,输入某的值,
h2某h3某2求y的值。
3332.输入m、n和p的值,求=12m12n的值。
注意判断运算中的溢出。
1525p53.输入a,b和c的值,编写一个程序求这三个数的最大值和最小值。
要求把求最大值和最小值编写成一个函数,并使用指针或引用作为形式参数把结果返回main函数。
4.用线性同余法生成随机数序列的公式为:
rk=(multiplier某rk-1+increment)%modulu
序列中的每一个数rk,可以由它的前一个数rk-1计算出来。
例如,如果有:
rk=(25173某rk-1+13849)%65536
则可以产生65536个各不相同的整型随机数。
设计一个函数作随机数生成器,生成一位或两位数的随机数。
利用这个随机数生成器,编写一个小学生四则运算的练习程序:
①·可以进行难度选择。
一级难度只用一位数,二级难度用两位数;
②·可以选择运算类型,包括加、减、乘、除等;③·给出错误提示;④·可以统计成绩。
5.已知勒让德多项式为
1pn(某)某((2n1)p(某)(n1)p(某))/nn1n2n0n1n1
编一程序,从键盘上输入某和n的值,使用递归函数求pn(某)的值。
6.把以下程序中的print()函数改写为等价的递归函数。
#includeuingnamepacetd;
voidprint(intw)
{for(inti=1;i<=w;i++){for(intj=1;j<=i;j++)cout<<i<<\cout<<en dl;}}
intmain()
{print(5);}
运行显示:122333444455555
n17.已知用梯形法求积分的公式为:Th(f(a)f(b))hf(aih),其中
h=(b-a)/n,n为积分n2i1区间的等分数,编程序求如下积分的值。
要
求把求积分公式编写成一个函数,并使用函数指针作为形式参数。
调用该
函数时,给定不同的被积函数作为实际参数求不同的积分。
4①d某②201某1211某d某③
2in某d某
028.编写一个程序,包含三个重载的diplay函数和一个主函数。
要
求第一个函数输出double值,前面用字符串“adouble:”引导,第二个
函数输出一个int值,前面用字符串“aint:”引导,第三个函数输出一
个char字符值,前面用字符串“achar:”引导,在主函数中分别用double、int和char型变量作为实参调用diplay函数。
9.使用重载函数编程序分别把两个数和三个数从大到小排列。
10.给定求组合数公式为:cnmnm!,编一程序,输入m和n的值,求cm 的值。
注意优化算法,
n!(mn)!降低溢出可能。
要求主函数调用以下函数求组合数:
intFabricate(intm,intn);
//返回cm的值
nFabricate函数内又须调用Multi函数:
intMulti(intm,intn);
//返回m某m-1某…某n
程序由4个文件组成。
头文件存放函数原型作为调用接口;其他3个cpp文件分别是main、Fabricate和Multi函数的定义。
实验五
ii1n1.已知求成绩的平均值和均方差公式:aven,dev(i1niave)2n,其中n为学生人数,i为
第i个学生成绩。
求某班学生的平均成绩和均方差。
2.用随机函数产生10个互不相同的两位整数存放到一维数组中,并输出其中的素数。
3.将一组数据从大到小排列后输出,要求显示每个元素及它们在原数组中的下标。
4.从键盘上输入一个正整数,判别它是否为回文数。
所谓回文数是指正读和反读都一样的数。
例如,123321是回文数。
5.把两个升序排列的整型数组合并为一个升序数组。
设计好你的算法,以得到较高的运行效率。
6.输入一个表示星期几的数,然后输出相应的英文单词。
要求使用指针数组实现。
7.编写函数:
(1)在一个二维数组中形成如以下形式的n阶矩阵:
1111121111
321114321154321(2)去掉靠边元素,生成新的n-2阶矩阵;(3)求矩阵主对角线下元素之和;(4)以方阵形式输出数组。
在main函数中调用以上函数进行测试。
8.设某一城市三个百货公司某个季度销售电视机的情况和价格如下表格所示。
编写程序,将每个表数据以数组存放,求各个百货公司的电视机营业额。
牌号公司第一百货公司第二百货公司第三百货公司康佳
300200280TCL250240210长虹150200180牌号康佳TCL长虹价格3500330038009.设计函数求一整型数组的最小元素及其下标。
在主函数中定义和初始化该整型数组,调用该函数,并显示最小元素值和下标值。
10.假设有从小到大排列的一组数据存放在一个数组中,在主函数中从键盘输入一个在该数组的最小值。