北京邮电大学_信通院_C++上机题汇总

此处只有题目汇总,源码请点击Github链接博主的Github
特别说明:学校的OJ系统对输出格式的要求很严格(我自己都不知道死在末尾空格多少次了),本文代码仅供参考,可不要直接复制粘贴哦

第二单元

VC++实验2.1 字母大小写转换

VC++实验2.2 计算圆的周长和面积

VC++实验2.3 数据的逆序输出

VC++实验2.4 字符串连接

VC++实验2.5 IP地址格式转换

第三单元

VC++实验3.1 闰年

//闰年规则:非整百年能被4整除为闰年,2004是,2100不是;整百年能被400整除为闰年,2000是,1900不是。

VC++实验3.2 欧几里德算法

VC++实验3.3 输出ASCII字符

VC++实验3.4 显示三角形

VC++实验3.5 打点滴

//在医院打点滴时,假设点滴的规律是,滴一滴,停一下,再滴两滴,停一下,再滴三滴,停一下。每一滴1毫升,用1秒,停一下的时间也是1秒。请问一瓶V毫升的药液,多久输完?其中V是小于5000的正整数。
/*
输入
10
输出
13
程序分析:
时间: 1 2 3 4 5 6 7 8 9 10 11 12 13 ……
滴液: 1 0 1 1 0 1 1 1 0 1 1 1 1 ……
总量: 1 1 2 3 3 4 5 6 6 7 8 9 10 ……

VC++实验3.6 求和逼近

VC++实验3.7 素数还是合数

//键盘输入一个大于1的正整数n,判断其是素数还是合数,如果是素数,则输出“素数”,如果是合数,则输出其所有约数(约数包括1和它本身),约数间用空格分隔。
/*
输入
13
输出
素数
样例输入
24
样例输出
1 2 3 4 6 8 12 24
*/

VC++实验3.8 仓库结算

/*
某仓库共有ABCDE五种货物,每天需要补货的数量不同,每种货物的单价不同,如下所示。由键盘输入五种货物需要补货的数量,请计算出当日仓库需支付多少货款。由于补货时不一定按照ABCDE的顺序补货,建议使用switch语句与循环语句编写。
货物名称 货物单价
A 10
B 5
C 3
D 20
E 13
输入
B 3 E 2 A 1 D 4 C 10
输出
161

第四单元

VC++实验4.1 数组使用

/*
编程:将1~100的自然数存到一个有100个元素的整型数组中(数组的下标为0~99),请在屏幕上输出如下数据:1)在屏幕上输出存储的100个自然数,每行输出10个,各数值之间用空格隔开。2)将序号是素数(大于一)的数据输出到屏幕上,格式要求:每行输出10个,各数值之间用一个空格隔开。
输出
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
3 4 6 8 12 14 18 20 24 30
32 38 42 44 48 54 60 62 68 72
74 80 84 90 98

VC++实验4.3 评分统计

/*
编写一个评分统计程序。从键盘获取8个评委打分的百分制成绩(double类型),统计平均分时,去掉一个最高分和一个最低分,其余6个分数的平均值即为最后得分。请将这个分数输出到屏幕上,格式为:平均成绩是XXX。
输入
98.5 88 90 93 94 90.4 89 92
输出
平均成绩是91.4

VC++实验4.4 选择排序

/*
从键盘输入10个整型数据,将它们存在数组中,采用选择排序算法,按从小到大排序,并将排序后的数据输出到屏幕上,数据间用一个空格隔开。
输入
1 100 4 6 60 9 10 90 12 45
输出
1 4 6 9 10 12 45 60 90 100
//VC++实验4.2 结构数组使用
/*
题目描述
编写一个记录5个学生的姓名、性别、年龄和学号的程序,要求使用结构数组表示学生信息,用for循环获得键盘输入的学生记录的数据,所有数据输入完毕后,将5个学生的信息在屏幕上输出,格式要求:按表格行列格式输出,每行输出一个学生的信息,按照姓名、性别、年龄、学号的顺序,各列信息左对齐,各信息占10位。
输入
John male 18 2016211001
Kim male 18 2016211002
David male 18 2016211003
Marry female 18 2016211004
Anna female 18 2016211005
输出
John male 18 2016211001
Kim male 18 2016211002
David male 18 2016211003
Marry female 18 2016211004
Anna female 18 2016211005

VC++实验4.5 计算第几天

/*
题目描述
定义一个结构型变量(包括年、月、日),并从键盘上获取该变量的值,计算该日在本年中是第几天,输出到屏幕上,格式为:“X年X月X日是本年中的第X天。”(提示:注意闰年问题)。
输入
2017 4 1
输出
2017年4月1日是本年中的第91天。
样例输入
2004 12 21
样例输出
2004年12月21日是本年中的第356天。

实验4.6 统计字符串

题目描述
从键盘输入一行或几行字符串,行数由键盘输入,一行字符串用字符数组存储。请统计所输入的字符串中26个字母(不区分大小写)出现的次数,并将出现次数非零的字母统计结果输出到屏幕上,格式参见样例。如果没有字母,请输出字符串中无字母。
输入
1
I come quickly !
输出
c:2
e:1
i:2
k:1
l:1
m:1
o:1
q:1
u:1
y:1
样例输入
2
12 345
90
样例输出
字符串中无字母。
*/
//程序说明:此程序可看作三部分,输入、计算、输出,其中计算、输出大同小异,原理相同,但输入部分差别很大,以王朋硕代码为例,是将每行空格间的字符串作为输入单元,进行输入,而我的是将一行作为输入单元,史一栋的是将二维数组作为输入单元。

第五单元

VC++实验5.1 温度转换

/*
题目描述
编写函数,把华氏温度F(double型)转换为摄氏温度C(double型),公式为C=(F-32)/1.8。键盘输入一个华氏温度,可以得到相应的摄氏温度。
输入
32
输出
0
*/

VC++实验5.2 数字分离

/*
题目描述
编写三个函数,分别完成如下任务:
函数一,计算整数a除以整数b的商的整数部分;
函数二,计算整数a除以整数b的余数;
函数三,用函数一和函数二完成分离整数各位的功能,对于输入的1~32767之间的整数,打印出一列数字,每个数字间空一个格。例如,输入:4562 输出:4 5 6 2
*/

VC++实验5.3 斐波那契数列

/*
题目描述
用非递归函数,求Fibonacci数列第n项。键盘输入一个n,输出Fibonacci数列第n项的值。
输入
3
输出
2
*/

VC++实验5.4 计算排列

/*
题目描述
编写程序计算排列,排列的公式P(n,m)=n!/(n-m)!,其中n>=m。请使用两个函数分别实现计算阶乘和计算排列。键盘输入n和m的值,输出它们的排列值。
输入
4 3
输出
24
*/

VC++实验5.5 评分统计II

/*
题目描述
歌手大奖赛共有10位评委,为每位选手打分(double型)。预赛部分歌手的分数,为去掉1个最高分、1个最低分后其余8个分数的平均值;决赛部分歌手的分数,为去掉2个最高分、2个最低分后其余6个分数的平均值。通过键盘输入10位评委的打分,以及当前处于哪个阶段(预赛部分用1表示,决赛部分用2表示)。主函数中,只负责输入数据、调用分数计算函数、输出结果,评分计算部分编写独立函数完成。
输入
98.5 88 90 93 94 90.4 89 92 88.6 97 2
输出
91.4
*/

VC++实验5.6 分糖果

/*
题目描述
有10个小朋友围成一圈分糖果,老师顺次分给每人一定数量糖果(初始值为偶数)然后按照下列规则调整,所有小朋友同时把自己的糖果分一半给右边的人,糖果数变为奇数的人,向老师补要一块糖果,问经过多少次调整后,大家糖果数一样多,且每人多少块。建立两个函数,一个负责传递糖果,一个负责判断所有人的糖果是否相等。
输入
12 2 8 22 16 4 10 6 14 20
输出
16 18
题目描述
编写相应的程序用指针实现:从键盘输入3个整型数va、vb、vc,通过一个指向整型的指针iptr,输出3个数中的最大值。
输入
1 2 3
输出
3

第六单元

VC++实验6.2 求平均值

题目描述
编写一个函数get_average()获取整型数组元素的平均值。要求这个函数既可以用来求一维数组元素的平均值,也可以求二维数组元素的平均值。在main()函数中通过具体的一维数组Array_1D和二维数组Array_2D测试这个函数。假定一维数组为a[5],二维数组为b[2][3],一维数组和二维数组的变量值由键盘分别输入,在屏幕上输出一维数组和二维数组的平均值,平均值间用一个空格分开。
输入
1 2 3 4 5
1 2 3 4 5 6
输出
3 3.5

VC++实验6.3 字符串变量的交换

题目描述
编制程序,调用指针作为参数的函数,实现下面两字符串变量的交换。 char* ap=“hello”; char* bp=“how are you”; 交换的结果为:ap 指向"how are you",bp 指向"hello"。 (注意:输出语句中的;和.为英文符号)
输入
输出
ap指向how are you;
bp指向hello.

VC++实验6.4 动态申请数组

题目描述
动态申请一个一维整型数组,要求用户从键盘输入元素个数,采用new运算符分配空间,从键盘输入数组变量的值.写一个函数void Func(int* A, int nSize),使A把0移至后面,非0整数移至数组前面并保持有序(升序)。将排序后的数组变量的值输出到屏幕上,各数值间用一个空格隔开。
输入
10 1 2 3 4 5 0 7 8 0 10
输出
1 2 3 4 5 7 8 10 0 0

VC++实验6.5 字符指针数组

题目描述
用字符指针数组,将给定的5个字符串(可以是任意5个国家名字)进行排序并输出。
输入
China American France Spain Greece
输出
American
China
France
Greece
Spain

VC++实验6.6 结构体和指针

题目描述
已知有3名学生及五门课程的成绩,要求根据学生的各科平均分排序(降序),并输出学生的所有信息和平均分(用指针数组完成)。
输入
Jane 90 80 75 60 85
Mark 85 78 98 85 86
Lily 56 65 75 68 80
输出
Mark 85 78 98 85 86 86.4
Jane 90 80 75 60 85 78
Lily 56 65 75 68 80 68.8

VC++实验6.7 数组合并

题目描述
将两个数组a和b合并,合并后的数组按升序输出。 说明:1)数组a和b的大小和元素的值从键盘输入;先输入数组大小,再输入数组的值; 2)合并后的数组输出时,各数值间以空格分开。
输入
2 1 2
4 1 2 3 4
输出
1 1 2 2 3 4

VC++实验6.8 数据插入

题目描述
请编写函数实现将一个数值插入到数组中适当的位置,使新数组按降序排列,并将插入的位置输出到屏幕上。 说明:1)原数组大小和数值由键盘输入,动态创建数组; 2)插入的数值由键盘输入。
3)如果插入数据与原数组中某数据相同,则插在该数据之前。
输入
10 1 4 5 2 3 6 7 8 10 9
11
输出
1

第七单元

VC++实验7.2 矩形类

定义一个矩形类,长和宽是它的属性,可以求出矩形的面积。定义一个比较函数,比较两个矩形的面积,把面积大的矩形对象作为引用来返回。主函数中定义两个矩形,它们的长、宽已知,分别为矩形1:长5.2、宽4.3,矩形2:长100、宽20。再由键盘输入一个矩形的长、宽。调用比较函数进行比较,找出面积大的矩形,输出其面积。
输入:10 8
输出:2000
输入
输出

VC++实验7.3 三角类

题目描述
定义一个Triangle三角形类,包括数据成员三边边长(int类型)、判断三角形形状的成员函数。键盘输入三角形三边边长,判断此三角形形状(其中,等腰直角三角形归为等腰三角形类)。
构成等边三角形,输出“A equileteral triangle”;
构成等腰三角形,输出“A isosceles triangle”;
构成直角三角形,输出“A right triangle”;
构成三角形,但不是以上三种,则输出“A triangle”;
不构成,输出“Not a triangle”。
输入:3 4 5
输出:A right triangle
输入
输出
样例输入

VC++实验7.4 时间类

题目描述
定义一个时间类,数据成员包括年、月、日,它的函数成员分别可以设置时间、显示时间,其中显示时间的函数,使用重载函数定义,遇到整型数值,则返回2017-5-30的格式,遇到浮点型数值,则输出2017年5月30日的格式。
输入:2017 5 30 1.1
输出:2017年5月30日
输入
输出

VC++实验7.5 员工薪金管理类

题目描述
设计雇员Employee类,包含雇员的情况,工号、姓名、工资等级(每月工资数,整型数值)、受雇时间(年、月、日)。编写程序测试Employee类。要求输入任意员工工号,及当前日期(年、月,此日期应晚于受雇时间),输出该员工姓名接应得到的工资总额,中间用空格隔开。
已知当前所有员工信息如下:
1,“wang”,5000,2000,10,23
2,“liu”,4500,2008,1,20
3,“huo”,3800,2003,7,3
4,“ma”,5300,2015,4,10
5,“meng”,6000,2016,3,16
输入:5 2016 5
输出:meng 12000
输入
输出
样例输入
样例输出
提示

第八单元

VC++实验8.1学生类继承

题目描述
定义一个学生基类Student,包括私有数据成员:学校名、姓名、年龄,输出数据成员值的公有成员函数Print()。再定义一个研究生类G_Student,公有继承方式派生于学生类Student,其中新增私有数据成员:导师姓名,并定义输出研究生数据的公有成员函数Print()。实现学生信息的输出。 键盘输入:MIT Kate 20 Smith 输出:MIT大学的Kate年龄20导师是Smith
输入
MIT Kate 20 Smith
输出
MIT大学的Kate年龄20导师是Smith

VC++实验8.2多继承

题目描述
学校的所有工作人员,都有工作级别,比如,职员、副科、正科、正处等,定义一个职工类Staff,包含私有数据成员:级别level,及输出级别的成员函数。学校里的老师,都有职称,比如,讲师、副教授、教授等,定义一个教师类Teacher,包含私有数据成员:级别title,及输出职称的成员函数。
创建一个教师员工Staffteacher类,采用多继承,继承Staff和Teacher类,包括私有数据成员:姓名name,及输出姓名的成员函数。
编写程序,由键盘输入一名教师员工的级别、职称、姓名,将这些信息完整输出。

输入:
正科 讲师 李明
输出:
李明
级别是正科
职称是讲师
输入
输出
样例输入
样例输出
提示

原创文章 6 获赞 12 访问量 2939

猜你喜欢

转载自blog.csdn.net/JCMLSY/article/details/105432152
今日推荐