中国石油大学知码开门第35章习题.docx
《中国石油大学知码开门第35章习题.docx》由会员分享,可在线阅读,更多相关《中国石油大学知码开门第35章习题.docx(19页珍藏版)》请在冰豆网上搜索。
中国石油大学知码开门第35章习题
第三章
3.1整数四则运算
【题目描述】
小明上小学一年级了,老师已经教会了他们进行整数的+、-、*、/、%计算,下面老师开始出题,给出一个简单的算术表达式,请小明给出计算结果。
【输入】
接受两个整数,每个整数之间使用空格分隔。
【输出】
分别输出进行+、-、*、/、*之后的运行结果。
【样例输入】
103
【样例输出】
10+3=1310-3=710*3=3010/3=310%3=1
注:
为了输出一个%符号,在控制字符串中需要写成%%,这是因为%在控制字符串中有特殊含义
3.2美元与人民币
【题目描述】
美元越来越贬值了,手上留有太多的美元似乎不是件好事。
赶紧算算你的那些美元还值多少人民币吧。
假设美元与人民币的汇率是1美元兑换6.5573元人民币,编写程序输入美元的金额,输出能兑换的人民币金额。
【输入】
美元的金额。
【输出】
能兑换的人民币的数值。
输出保留2位小数。
【样例输入】
100
【样例输出】
655.73
3.3计算月收入
【题目描述】
CoCo的表姐刚从大学毕业,进入到一家小型外贸公司工作。
该公司员工月收入的计算方法为:
月基本工资加当月提成。
从键盘输入CoCo表姐某月的基本工资和该月的提成,计算并输出表姐该月的收入。
【输入】
输入两个数分别代表月基本工资和月提成。
【输出】
计算并输出月收入,保留2位小数。
【样例输入】
3150.21200
【样例输出】
4350.20
3.4求整数均值
【题目描述】
计算4个整数的和与平均值。
题目保证输入与输出均在整型范围内。
【输入】
4个整数,其间以空格分隔。
【输出】
按照格式顺序输出和与平均值,其中平均值精确到小数点后1位。
【输入样例】
1234
【输出样例】
Sum=10;Average=2.5
3.5简单加密
【题目描述】
信息时代最怕的就是个人信息泄密。
你现在已经掌握了一些技能,那么就尝试着对信息进行一些简单的加密吧!
现在从键盘输入任意两个字母,要求对它们进行加密。
规则是:
用原字母后的第3个字母来代替。
如需要将信息“HI”加密,如H后面第3个字母是K,i后面第3个字母是l,因此“Hi”加密后为“Kl”。
【输入】
从键盘输入任意两个字母,分别存放到变量ch1和ch2中。
输入时两个字符间没有空格。
【输出】
按上述规则进行译码后输出。
输出时两个字符间没有空格,输出完毕后换行。
【样例输入】
Hi
【样例输出】
Kl
3.6简单多项式求值
【题目描述】
求下面多项式的值
【输入】
浮点数x的值
【输出】
y值,保留小数点后面1位小数
【样例输入】
1
【样例输出】
11.0
3.7神探的小问题
【题目描述】
LaughingSir在某次案件调查中需要研究一些地图,但是其中一些地图使用公里为单位,而另一些使用英里为单位。
假设LaughingSir希望全部采用公里计量,你可以帮他写出转换程序吗?
已知1英里等于1.609公里。
【输入】
输入以英里表示的距离。
【输出】
输出以公里表示的距离,结果保留两位小数。
【样例输入】
10
【样例输出】
16.09
3.8冰箱的温度
【题目描述】
夏天用电高峰时容易断电,请编写程序预测断电一段时间以后冰箱内的温度
,假设该温度T可由以下公式计算得到结果:
断电后所经过的时间t是给定的。
【输入】
断电后经过的时间t。
【输出】
断电t小时后冰箱内的温度,保留2位小数。
【样例输入】
2.5
【样例输出】
-14.44
3.9超市硬币处理机
【题目描述】
超市前放置了一个硬币处理机,可以帮你把零钱转换为存款单。
在实际应用中,机器中将有相应装置自动识别并计算你的零钱的数目,但是我们现在只能先进行一个手工的小实验,由你自己输入每种硬币的数目,然后编写程序将其转换成存款单。
【输入】
依次输入1元、5角、1角的零钱的个数。
假如输入三个整数31025,则表示有3个1元硬币、10个5角硬币和25个1角的硬币。
【输出】
输出存单金额,如对上例的输入,输出为
Dollars=10
Change=50
表示存单上的整数金额为10元,零钱金额为50分。
即要求Dollars后显示的是**元的信息,Change后面显示的是**分的信息。
【样例输入】
3010
【样例输出】
Dollars=4
Change=0
3.10男生和女生
【题目描述】
已知某班有男生n1位,女生n2位,n1位男生的平均分是x分,n2位女生的平均分是y分,问全体学生的平均分是多少?
【输入】
四个整数x、y、n1、n2
【输出】
全体学生的平均,保留2位小数
【样例输入】
90882321
【样例输出】
89.05
第四章
4.1printf和scanf
printf函数和scanf函数是C语言中最常用的函数之一,下面让我们练习一下吧。
输入:
整型变量x的值。
输出:
输出整型变量x对应的十进制、八进制和十六进制形式。
认真观察-1的八进制和十六进制输出,请想想是为什么。
4.2然后是几点
【题目描述】
有时候人们用四位数字表示一个时间,比如1106表示11点零6分。
现在,你的程序要根据起始时间和流逝的时间计算出终止时间。
读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。
当小时为个位数时,没有前导的零,即5点30分表示为530,但是分钟为个位数时,必须有前导的零,即5点3分应表示为503,5点18分表示为518。
注意,第二个数字表示的分钟数可能超过60,也可能是负数。
【输入】
输入在一行中给出2个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。
注意:
在起始时间中,当小时为个位数时,没有前导的零,即5点30分表示为530;流逝的分钟数可能超过60,也可能是负数。
【输出】
输出四位数字表示的终止时间。
题目保证起始时间和终止时间在同一天内。
【输入样例】
1120110
【输出样例】
1310
4.3学习打印你的第一个图形
背景:
我们已经学习了printf函数,这里给出了一个小程序,它运行的结果是输出一个由星号(*)组成的4*4的正方形。
程序如下:
#include
int main()
{
printf("****\n");
printf("****\n");
printf("****\n");
printf("****\n");
return0;
}
要求:
按照上面的程序范例,编写一个小程序,要求输出的是4行由*号组成的等腰三角形。
输入:
无。
输出:
指定图形。
4.4三位数分解求累加和
问题描述:
输入一个3位的正整数n,编程计算整数n的各位数字之和。
输入:
输入一个正整数n。
输出:
各位数字之和sum。
输入样例:
208
输出样例:
10
4.5照猫画猫:
计算圆柱的侧面积及体积
问题描述:
如果已知圆柱的底面半径r,以及高h,则可计算出圆柱的侧面积
,体积
。
其中
输入:
第一行输入圆柱的底面半径r
第二行输入圆柱的高h
输出:
要求:
1.所有变量都定义为双精度类型
2.结果精确到小数点后两位
4.6找零钱
假定有5角、1角、5分、2分和1分共5种硬币,在给顾客找硬币时,一般都会尽可能地选用硬币个数最小的方法。
例如,当要给某顾客找7角2分钱时,会给他一个5角,2个1角和1个2分的硬币。
试编写一个程序,输入的是要找给顾客的零钱(以分为单位),输出的是应该找回的各种硬币数目,并保证找回的硬币数最少。
4.7鸡兔同笼
【题目描述】
已知笼中有头h个,有脚f条,问笼中鸡兔各有多少只?
【输入】
头和脚的数目
【输出】
兔子和鸡的数目(输出语句为:
printf("rabbit=%d,chicken=%d\n",rabbit,chicken);)
【样例输入】
1020
【样例输出】
rabbit=0,chicken=10
4.8计算时钟的夹角
背景:
钟面上的时针和分针之间的夹角总是在0度-359度之间。
举例来说,在十二点的时候两针之间的夹角为0度,而在六点的时候夹角为180度,在三点的时候为90度。
本题要解决的是计算0:
00到12:
00之间任意一个时间的夹角。
【输入】
每组测试数据包含两个数字:
第一个数字代表小时(大于等于0小于等于12),第二个数字代表分(在区间[0,59]上)。
【输出】
对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。
友情提示:
以表中心到12点的连线为基准,分针每走1分钟是6度,时针与基准的夹角每个小时也是30度,从整点开始,每过1分钟时针再增加0.5度。
提示:
时钟夹角计算公式|5.5m-30h|,h为时针,m为分针。
求浮点型绝对值的函数为fabs,需要包含math.h头文件
4.9温度转换
【题目描述】
2013夏季,热浪席卷了全球的大部分地方。
网上报道美国局部地区的温度达到了100华氏度,而我们宁波的温度有达到40摄氏度以上的。
那么40摄氏度和100华氏度到底哪个更热一些呢?
请你帮忙编一个程序来解决这一问题。
从键盘输入一个华氏温度,求出其对应的摄氏温度。
计算公式如下:
其中c表示摄氏温度,f表示华氏温度。
【输入】
从键盘输入一个华氏温度值。
【输出】
输出对应的摄氏温度值,结果要求保留2位小数。
【样例输入】
100
【样例输出】
37.78
4.10卫生包干区的面积
【题目描述】
为了培养大家热爱劳动的习惯,学校将校园的角角落落划分成若干卫生包干区,分给各个班级。
CoCo所在班级也分到了一块,作为班长,CoCo需要知道这块区域到底有多少大,以便分配一定数量的同学去打扫,你能帮她计算一下这块包干区的大小吗?
已知包干区的形状是一个任意三角形,并且CoCo已经派同学把各条边的边长测量好了,假设3条边的边长为a,b,c,请求出这块包干区的面积并输出。
【输入】
输入三条边的边长(3条边长肯定可以构成三角形)。
【输出】
输出三角形面积。
保留2位小数。
【样例输入】
345
【样例输出】
6.00
4.11TheatreSquare
TheatreSquareinthecapitalcityofBerlandhasarectangularshapewiththesizen ×mmeters.Ontheoccasionofthecity'sanniversary,adecisionwastakentopavetheSquarewithsquaregraniteflagstones.Eachflagstoneisofthesize a ×a.
WhatistheleastnumberofflagstonesneededtopavetheSquare?
It'sallowedtocoverthesurfacelargerthantheTheatreSquare,buttheSquarehastobecovered.It'snotallowedtobreaktheflagstones.ThesidesofflagstonesshouldbeparalleltothesidesoftheSquare.
Input
Theinputcontainsthreepositiveintegernumbersinthefirstline:
n,manda(
).
Output
Writetheneedednumberofflagstones.
第五章
5.1求最大值
【问题描述】
从键盘输入两个整数m和n,编程计算并输出最大值。
【输入】
整数m和n
【输出】
m和n的最大值
【输入样例】
510
【输出样例】
10
5.2判断闰年
问题描述:
输入一个年份,判断其是否闰年。
(能被400整除的都是闰年,否则能被4整除但不能被100整除的也是闰年)
输入:
整数year
输出:
year是闰年或year不是闰年
输入样例:
2004
输出样例:
2004是闰年
5.3奇偶数
问题描述:
输入一个整数,判断其奇偶性。
输入:
整数n
输出:
n是奇数或n是偶数
输入样例:
3
输出样例:
3是奇数
5.4绝对值
问题描述:
输入一个实数,不使用绝对值函数计算并输出该实数的绝对值。
输入:
一个实数
输出:
该实数的绝对值
输入样例:
-3.5
输出样例:
3.5
5.5温度转换
背景:
经常出国旅行的驴友都知道,需要时时了解当地的气温状况,但不少国家采用了不同的温度计量单位:
有些使用华氏温度标准(F),有些使用摄氏温度(C)。
现在,请你根据温度转换公式设计一个温度转换程序,可以进行温度转换。
如果输入摄氏温度,显示转换的华氏温度;如果输入华氏温度,显示转换的摄氏温度。
温度转换的公式为:
;
;式中F--华氏温度,C--摄氏温度。
输入:
第一个数据(1或2)确定转换的类型:
华氏转摄氏
(1);摄氏转华氏
(2);
第二个数据是相应需要转换的温度值。
输出:
相应的转换后的温度值(保留小数点后2位)。
5.6分段函数
有一分段函数,
。
当x小于6时,
;当x大于等于6且小于15时,
;当x大于等于15时,
.从键盘上输入一个整数x,输出对应的y值。
5.7出租车计费
题目描述
根据某城市普通出租车收费标准编写程序对车费进行计算。
具体标准如下:
起步里程为3km,起步费10元;10km以内超过起步里程部分,每千米2元,超过10km以上的部分,每千米3元。
输入
行驶里程数(单位千米)。
输出
乘客应支付的车费(单位元),结果四舍五入,保留到元。
样例输入
12.5
样例输出
32
5.8四位数拆分
输入一个四位数,判断千位、百位、十位和个位数字之和是否为偶数,如果是,输出Yes,如果不是,输出No;如果不是四位数,输出Invaliddata。
5.9整数位数判断
输入一个不多于5位的正整数,要求:
(1)求它是几位数;
(2)逆序打印出各位数字。
5.10磨磨你的砍柴刀:
判断三角形的形状
要求:
输入三角型的三条边,判断三角形的形状。
假设输入的三边边长均>0。
输入:
三角型的3条边的长度(int型)。
输出:
等边三角形:
equilateraltriangle.
等腰三角形:
isocelestriangle.
不构成三角形:
non-triangle.
一般三角形:
triangle.
5.11判断某年某月的天数
一年有365天,有的月份有31天,有的有30天,2月份闰年的时候是29天,非闰年的时候是28天。
现在要求从键盘上输入一个年份和月份,输出其对应的天数。
5.12到邮局去寄包裹
你去邮局给朋友寄礼物。
发现邮局对邮寄包裹的费用是这样规定的:
如果包裹长宽高任意一个尺寸超过1米,或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费0.2元,不同重量的邮资按下表计算:
重量(千克)
收费标准(元)
小于10
0.80
大于等于10但不超过20
0.75
大于等于20但不超过30
0.70
编写程序,输入包裹的长、宽、高尺寸和重量,输出所需的邮资(输出结果中包含两位小数即可),超出尺寸或重量的输出"Error”.
5.13花多少钱买衣服
周末商场促销呢,某品牌服装既可以买套装,也可以买单件。
若买的不少于50套,每套80元;不足50套的每套90元,只买上衣每件60元,只买裤子每条45元。
编写程序,输入计划购买的上衣数量a和裤子的数量b,计算并输出应该付的款m。
5.14输出星期几的英文表示
输入用数字(1--7)表示的星期几,输出星期几的英文表示,输入的数字有误,输出单词"Error(回车)"。
提醒:
周一到周日必须都判断,单词拼法Sunday Saturday Friday Thursday Wednesday TuesdayMonday,另外还要对不合法的数据进行判断。
5.15判断输入的字符的类型
我们将字符分为五类:
大写字母、小写字母、数字、控制字符、其他字符。
编写程序,从键盘输入一个字符,输出字符所属的类型:
大写字母时输出capitalletters,小写字母时输出smallletters,数字是输出figures,其他字符时输出others。
5.16苹果和虫子
描述
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。
虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
输入
输入仅一行,包括n,x和y(均为整数)。
输出
输出也仅一行,剩下的苹果个数
样例输入
1049
样例输出
7
5.17年龄
【题目描述】
输入一位学生的出生日期,并输入当前的日期,输出该学生的年龄。
【输入】
一行6个整型数据,用空格隔开,表示一个学生数据。
所有数据都在合法范围内。
【输出】
每个输出一行,表示该生的实足年龄。
【样例输入】
199011200811
【样例输出】
18
5.18晶晶赴约会
【题目描述】
晶晶的朋友贝贝约晶晶下周一起去看展览,但晶晶每周的1、3、5有课必须上课,请帮晶晶判断她能否接受贝贝的邀请,如果能输出YES;如果不能则输出NO。
【输入】
输入有一行,贝贝邀请晶晶去看展览的日期,用数字1到7表示从星期一到星期日。
【输出】
输出有一行,如果晶晶可以接受贝贝的邀请,输出YES,否则,输出NO。
注意YES和NO都是大写字母!
【样例输入】
2
【样例输出】
YES
5.19用天平找小球
【题目描述】
三个球A、B、C,大小形状相同且其中有一个球与其他球重量不同。
要求找出这个不一样的球。
【输入】
输入在一行中给出3个正整数,顺序对应球A、B、C的重量。
【输出】
在一行中输出唯一的那个不一样的球。
【样例输入】
112
【样例输出】
C
5.20计算火车运行时间
【题目描述】
根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。
【输入】
输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。
每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。
【输出】
在一行输出该旅途所用的时间,格式为“hh:
mm”,其中hh为2位小时数、mm为2位分钟数。
【样例输入】
12011530
【样例输出】
03:
29
5.21三天打鱼两天晒网
【题目描述】
中国有句俗语叫“三天打鱼两天晒网”。
假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?
【输入】
输入在一行中给出1个不超过1000的正整数N。
【输出】
在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“indayN”。
【样例输入1】
103
【样例输出1】
Fishinginday103
【样例输入2】
34
【样例输出2】
Dryinginday34