C++程序设计实验-1-7

更新时间:2023-11-01 05:10:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C++程序设计实验

实验报告要求

红色为实验报告必包括内容 502:ftp://192.168.200.210

实验一

熟悉vc++开发环境和C++程序的调试过程。 一、理解体会例1-1,输入并运行。

二、参照例1-2,用结构化方法编程实现:

1、 根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每

分钟的花费。(1学分=18学时) 2、 P43编程题1,2,3

1.输入一个三位整数,将它反向输出。 2.输入平面上某点横坐标x和纵坐标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分以上输出“very good”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“no good”。

2.输入三个整数,按从小到大的顺序输出它们的值。

3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。

4.输入百分制成绩,并把它转换成五级分制,转换公式为:

?A(优秀)?B(良好)??grade(级别)??C(中等)?D(合格)???E(不合格)90?10080?8970?7960?690?59

5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。

玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。

6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。

7.使用迭代公式xn?1根。

8.已知X=0,10,20,?,180,求sinx, cosx和tanx的值。

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.编一程序显示由符号组成的三角形图案。例如,程序运行后, 屏幕显示: How many lines ? 用户输入: 5

屏幕显示: What character ?

333?????(xn?a/xn)/2(n?0,1,2,?;x0?a/2)编程序求某一正整数a的平方

用户输入: * 则输出如下图案。

* * * * * * * * * * * * * * * * * * * * * * * * *

13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。

实验四

1.已知

y?sh(1?shx)sh2x?sh3x , 其中sh为双曲正弦函数,即sh(t)?e?e2t?t。编一程序,输

入x的值,求y的值。

2.输入m、n和p的值,求s = 出。

3.输入a,b和c的值,编写一个程序求这三个数的最大值和最小值。要求把求最大值和最小值编写成一个函数,并使用指针或引用作为形式参数把结果返回main函数。 4.用线性同余法生成随机数序列的公式为:

rk = ( multiplier * rk-1 + increment ) % modulus

序列中的每一个数rk,可以由它的前一个数rk-1计算出来。例如,如果有:

rk = ( 25173 * rk-1 + 13849 ) % 65536

则可以产生 65536个各不相同的整型随机数。设计一个函数作随机数生成器,生成一位或两位数的随机数。

利用这个随机数生成器,编写一个小学生四则运算的练习程序: ① ·可以进行难度选择。一级难度只用一位数,二级难度用两位数; ② ·可以选择运算类型,包括加、减、乘、除等; ③ ·给出错误提示; ④ ·可以统计成绩。 5.已知勒让德多项式为

1??pn(x)??x?((2n?1)p(x)?(n?1)p(x))/nn?1n?2?n?0n?1n?11?2???m?1?2???n1?2???p555333的值。注意判断运算中的溢

编一程序,从键盘上输入x和n的值,使用递归函数求pn(x)的值。 6.把以下程序中的print()函数改写为等价的递归函数。

#include

using namespace std;

void print( int w )

{ for( int i = 1 ; i <= w ; i ++ ) { for( int j = 1 ; j <= i ; j ++ ) cout << i << \ cout << endl ; } }

int main()

{ print( 5 ) ; }

运行显示: 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5

7.已知用梯形法求积分的公式为:Tn?h(f(a)?f(b))2n?1?h?f(a?ih)i?1,其中h = ( b-a ) / n,

n为积分区间的等分数,编程序求如下积分的值。要求把求积分公式编写成一个函数,并使用函数指针作为形式参数。调用该函数时,给定不同的被积函数作为实际参数求不同的积分。 ①

1?1?x042dx ②

2??11?xdx2 ③

2?sin0xdx

8.编写一个程序,包含三个重载的display函数和一个主函数。要求第一个函数输出double值,前面用字符串“a double:”引导,第二个函数输出一个int值,前面用字符串“a int:”引导,第三个函数输出一个char字符值,前面用字符串“a char:”引导,在主函数中分别用double、int和char型变量作为实参调用display函数。 9.使用重载函数编程序分别把两个数和三个数从大到小排列。 10.给定求组合数公式为:cnm?m!n!(m?n)!,编一程序,输入m和n的值,求cm的值。注

n意优化算法,降低溢出可能。要求主函数调用以下函数求组合数:

int Fabricate( int m, int n ) ;

//返回cm的值

nFabricate函数内又须调用Multi函数:

int Multi( int m, int n ) ; // 返回 m×m-1×…× n

程序由4个文件组成。头文件存放函数原型作为调用接口;其他3个cpp文件分别是main、Fabricate和Multi函数的定义。

实验五

nn1.已知求成绩的平均值和均方差公式:ave?s?i?1in,dev?(s?i?1i?ave)n2, 其中n为学生

人数,si为第i个学生成绩。求某班学生的平均成绩和均方差。

2.用随机函数产生10个互不相同的两位整数存放到一维数组中,并输出其中的素数。 3.将一组数据从大到小排列后输出,要求显示每个元素及它们在原数组中的下标。 4.从键盘上输入一个正整数,判别它是否为回文数。所谓回文数是指正读和反读都一样的数。例如,123321是回文数。

5.把两个升序排列的整型数组合并为一个升序数组。设计好你的算法,以得到较高的运行效率。

6. 输入一个表示星期几的数,然后输出相应的英文单词。要求使用指针数组实现。 7.编写函数:

(1)在一个二维数组中形成如以下形式的n阶矩阵:

????????123451123411123111121??1? 1??1??1?

(2)去掉靠边元素,生成新的n-2阶矩阵; (3)求矩阵主对角线下元素之和; (4)以方阵形式输出数组。

在main函数中调用以上函数进行测试。

8.设某一城市三个百货公司某个季度销售电视机的情况和价格如下表格所示。编写程序,将每个表数据以数组存放,求各个百货公司的电视机营业额。

牌号 公司 康佳 TCL 长虹 牌号 康佳 250 240 150 200 TCL 长虹 价格 3500 3300 3800 第一百货公司 300 第二百货公司 200

本文来源:https://www.bwwdw.com/article/tpf2.html

微信扫码分享

《C++程序设计实验-1-7.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文
范文搜索
下载文档
Top