作业

更新时间:2024-01-27 23:04:01 阅读量: 教育文库 文档下载

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

第一单元10道考核题目

1、一数组中已存放了10个有序的整数,现由键盘输入一个整数,将此数插入到该数组中,使数组仍然是有序的。

2、输入10个数,实现在指定下标pos处插入数据x,要求插入操作写成函数形式。

3、利用选择法实现10名学生成绩的排序(从高到低)。

4、用函数实现求result =1+(1+2)+(1+2+3)+……+(1+2+3+……+n)的值,n的值由键盘输入。

5、输出50—100间的所有素数,其中判断一个数是否为素数用函数完成。

6、输出50—100间的所有完数,其中判断一个数是否为素数用函数完成。

7、由键盘输入10个数,找出它们的最大值、最小值并求出平均值。 8、从键盘输入两个字符串,将它们合并成一个新的字符串。

9、编写函数f(char *s1,char *s2),将字符串s2连接到字符串s1的后面。

10、用函数实现将一个数组中元素逆序存放并输出。

第二单元14道考核题目

第一部分 小程序练习(必须全部完成) 数组:

1. 一数组中已存放了10个有序的整数,现由键盘输入一个整数,将此数插入到该数组中,使数组仍然是有序的。 算法提示:

假设数组是由小到大的顺序来排列的:

1) 先要确定插入的新数x在数组中的位置,即确定m在数组中的下标

2) 用x去跟数组中的元素逐个比较,数组中的某个元素满足a[k]>m,则k为m的下标

3) 将数组从a[k]开始的所有元素向后面移动一个位置 4) 从最后一个元素开始移动,即执行循环:

for(m=9;m>k;m--) a[m+1]=a[m]

5) 将m插入数组中a[k]=m

2. 输入20个整数存入数组中,输出其中的偶数及偶数之和。

函数

3.用函数实现求result =1+(1+2)+(1+2+3)+……+(1+2+3+……+n)的值,n的值由键盘输入。

算法提示:

1) 根据题目要求,需要调用函数lj来求1+2+3+……+n的和

2) 把对函数lj的调用放在循环结构中,循环变量i做为实参 3) 形参变量x得到i的值,再被调函数中求出每次的累加和 4) 循环变量i的取值为(i=1;i<=n;i++) 5) 将调用函数求得的值累加到l中,即result=result+lj(i)

4. 输出50—100间的所有素数,其中判断一个数是否为素数用函数完成。 算法提示:

1) 输出50至100间的素数,所以函数的调用应放在循环中 2) 被调函数ss中,要判断m是否为素数 3) 若是素数,则返回值t1=1,否则t1=0 4) 主函数中若返回值为1,证明是素数,则输出

数组与函数

5.有一个一维数组score,内放10个学生成绩,求平均成绩。

6.写一函数,要求数组作函数的参数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。 算法提示:

1) 输入任意的字符串,需要将数组的长度定义的足够大,即char a[80] 2) 在被调函数中首先求出字符串的长度,可用函数strlen()

3)将数组前一半的元素与对应的后一半元素互换,所以循环的条件是(i=0;i

4)将元素b[i]与 b[n-i]互换

指针

7.由键盘输入10个数,找出它们的最大值、最小值并求出平均值。(要求用指针实现)

8. 从键盘输入两个字符串,将它们合并成一个新的字符串。 算法提示:

1)合并字符串就是将一个字符串接到另一个字符串的末尾 2)定义指针变量p,指向数组a,即p=a

3)让指针p移动至数组a的末尾,可利用一个循环结构来实现,循环体语句为空,即for(p=a;*p!='\\0'; p++) ;

4)定义指针变量q,指向数组b的首部,即q=b 5)将q指向的元素放到p指向的数组,即*p=*q 6)连接好字符串后,在末尾加上’\\0’,即*p='\\0'

数组、函数与指针

9.编写函数f(char *s1,char *s2),将字符串s2连接到字符串s1的后面。 算法提示:

将s2中的字符依次存到从s1的’\\0’开始的位置。要求s1必须要有足够的空间放下s2中的所有字符。

类与对象

10.构建一个类score,其中用私有数据成员number表示学号,computer、english、average分别表示计算机成绩、英语成绩和平均分数。公有成员函数inscore()用于输入学号和各科成绩,以及计算平均分数;成员函数showscore() 用来输出成绩。

要求:在主程序定义stu1为score类的对象,stu2为指向score类对象的指针,由它们

分别调用成员函数inscore()和showscore()来实现输入、计算和输出功能。

11.设计一个学生成绩管理系统,能输入学生的学号、姓名和成绩等数据,能按成绩从高到低进行排序,并能将排序的结果输出。 提示:

(1) 设计一个学生类student,包含三个私有数据成员,即学号sno、姓名sname和成员

score

(2) 在学生类student中再设计三个公有成员函数 setdata、display和getscore,分

别用于完成输入学生信息、输出学生信息、返回某个学生成绩的功能

(3) 定义一个manage类,它有一个student类型的私有数据成员s[num],其中num表示

学生人数

(4) 在manage类中分别定义三个公有成员函数input、output、sort,分别用于完成输

入、输出和排序功能。

继承与派生

12.设计一个图书借阅管理系统。每本书有书号、书名和作者姓名属性,读者有借书证号、读者姓名和每位读者最多能够借阅的图书数量属性。(要求使用类的继承和派生知识点实现) 提示:

由于图书和读者都具有编号和名称两个属性,所以可以定义一个能够对编号和名称进行管理的类object,然后在object类的基础上派生出图书类book和读者类reader。

虚函数与多态

13.定义一个抽象类Shape,在其中说明一个纯虚函数area()作为一个接口,用来计算圆形、三角形、正方形和长方形的面积。要求由抽象类派生出圆形、三角形、正方形和长方形4个派生类。在各派生类中分别实现求各个图形的面积。

模板

14.用函数模板的方式设计可以对某种数据类型的数组中的数据用选择法进行从大到小排序,然后用整型数据和字符型数据进行验证。

文件

15.编写一个程序,统计data.txt文件的行数,并将所有行前加上行号后写到data1.txt文件中。 算法提示:

行与行之间以回车符分隔,而getline()函数以回车符作为终止符。因此,可以采用

getline()函数读取每一行,再用一个变量i计算行数。

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

Top