C语言程序设计实验课参考答案(实验五:分支结构2)
实验五 分支结构
1. 虫子吃苹果
说明
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
输入输出格式及样例
输入数据(输入仅一行,包括n,x和y(均为整数)):10 4 9
输出数据(输出也仅一行,剩下的苹果个数):7
参考答案
1 |
|
2.计算邮资
说明
根据邮件的重量和用户是否选择加急计算邮费。计算规则:重量在1000克以内(包括1000克), 基本费8元。超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;如果用户选择加急,多收5元。
输入输出格式及样例
输入数据(输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。如果字符是y,说明选择加急;如果字符是n,说明不加急。)
1200 y
输出数据(输出一行,包含一个整数,表示邮费)
17
参考答案
1 |
|
3. 骑车与走路
说明
在清华校园里,没有自行车,上课办事会很不方便。但实际上。并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。请判断走不同的距离去办事,是骑车快还是走路快。如果骑车快,输出一行”Bike”;如果走路快,输出一行”Walk”;如果一样快,输出一行”All”。
输入输出格式及样例
输入数据(输入一行,包含一个整数,表示一次办事要行走的距离,单位为米)
120
输出数据(输出一行,如果骑车快,输出一行”Bike”;如果走路快,输出一行”Walk”;如果一样快,输出一行”All”)
Bike
参考答案
1 |
|
4. 点和正方形的关系
说明
有一个正方形,四个角的坐标 (x,y) 分别是 (1,-1),(1,1),(-1,-1),(-1,1),x 是横轴,y 是纵轴。请你写一个程序,判断一个给定的点是否在这个正方形内(包括正方形边界)。
输入输出格式及样例
输入数据(输入一行,包括两个整数 x、y,以一个空格分开,表示坐标 (x,y)(−10≤x,y≤10)):
1 1
输出数据(输出一行,如果点在正方形内,则输出”yes”,否则输出 “no”):
yes
参考答案
1 |
|
5. 字符类型判断
说明
输入一个字符,判断该字符是否大写字母、小写字母、数字字符或其他字符。分别输出对应的提示信息。
输入输出格式及样例
输入数据(输入为一个字符):
1
输出数据(如果该字符是大写字母,则输出”upper”;若是小写字母,则输出”lower”;若是数字字符,则输出”digit”;若是其他字符,则输出”other”。(输出不含双引号)):
digit
参考答案
1 |
|
6. 邮寄包裹
说明
邮局对邮寄包裹有如下规定:若包裹的重量超过 30 千克,不予邮寄,对可以邮寄的包裹每件收手续费 0.2 元,再加上根据下表按重量 x 计算的结果(不同重量段相应的收费不同)。
| 重量(千克) | 收费标准(元/公斤) |
|---|---|
| x<=10 | 0.80 |
| 10<x<=20 | 0.75 |
| 20<x<=30 | 0.70 |
请你编写一个程序,输入包裹重量,输出所需费用或”Fail”表示无法邮寄。
输入输出格式及样例
输入数据(输入一个整数 x,表示包裹的重量(单位:千克)。(0<x≤100)):
7
输出数据(输出对应的费用(答案保留 2 位小数)或”Fail”表示无法邮寄。):
5.80
参考答案
1 |
|
7. 有一门课不及格的学生
说明
给出一名学生的语文和数学成绩,判断他是否恰好有一门课不及格(成绩小于60分)。若该生恰好有一门课不及格,输出1;否则输出0。
输入输出格式及样例
输入数据(一行,包含两个在0到100之间的整数,分别是该生的语文成绩和数学成绩):
50 80
输出数据(若该生恰好有一门课不及格,输出1;否则输出0):
1
参考答案
1 |
|
8. 闰年与平年
说明
大家都知道,每四年一个闰年。按照每四年一个闰年计算,过四百年就会多出大约3.12天,因此规定整百数的年份必须是400的倍数才是闰年,这就是通常所说的:四年一闰,百年不闰,四百年再闰。
试编一个程序,输入一个年份,判断是平年还是闰年。
输入输出格式及样例
输入数据(一行一个年份):
2020
输出数据(输出是平年还是闰年,详情见“样例输出”):
2020是闰年
参考答案
1 | //参考书上示例代码 |
9. 回文数
说明
先计算出两个正整数 a+b 的结果 sum,然后要判断 sum 是不是回文数。
回文数:设 n 是一任意自然数。若将 n 的各位数字反向排列所得自然数 n1 与 n 相等,则称 n 为回文数。例如 121 是回文数,而 123 不是回文数。
输入输出格式及样例
输入数据(输入共一行,两个以空格隔开的正整数 a,b(1≤a,b≤100)):
80 41
输出数据(输出共两行,第一行一个正整数 sum,表示 a,b 的和。
如果 sum 是回文数,则第二行输出 “Yes”,否则第二行输出 “No”。输出不带引号。):
121
Yes
参考答案
1 | //参考书上示例代码 |
10.这个月有几天
说明
输入一个年份和一个月份,输出该月的天数。
输入输出格式及样例
输入数据(两个整数y(1600≤y≤3000)和m (1≤m≤12),分别表示年份和月份):
1900 2
输出数据(一个整数,表示该月的天数):
28
参考答案
1 | //参考书上示例代码 |
11. 简单计算器
说明
设计一个最简单的计算器,支持’+’、’-‘、’’、’/‘四种运算。
仅需考虑输入输出为整数的情况,数据和运算结果不会超过 int 表示的范围。
输入输出格式及样例
输入数据(输入只有一行,共有三个参数,其中第 1、2 个参数为整数,第 3 个参数为操作符(’+’、’-‘、’’、’/‘或其它符号)):
1 2 +
输出数据(输出只有一行,一个整数,为运算结果。然而:
如果出现除数为 0 的情况,则输出:”Divided by zero!”;
如果出现无效的操作符(即不为’+’、’-‘、’*’、’/‘之一),则输出:”Invalid operator!”。):
3
参考答案
1 | //使用switch语句判断运算符 |
12. 成绩等级
说明
风之巅小学规定,若测试成绩大于或等于90分为“A”,大于或等于70分小于90分为“B”,大于或等于60分小于70分为“C”,60分以下为“D”。现在输入一个成绩,输出它的等级。
输入输出格式及样例
输入数据(一个整数,表示成绩):
99
输出数据(输出等级):
A
参考答案
1 | // |
13. 晶晶赴约会
说明
晶晶的朋友贝贝约晶晶下周一起去看展览,但晶晶每周的 1、3、5 必须上课,请帮晶晶判断他能否接受贝贝的邀请,如果能输出”YES”;如果不能则输出”NO”。
输入输出格式及样例
输入数据(输入为一行,贝贝邀请晶晶去看展览的日期,用数字 1 到 7 表示从星期一到星期日):
2
输出数据(输出为一行,如果晶晶可以接受贝贝的邀请,输出”YES”;否则,输出”NO”):
YES
参考答案
1 | // 求模,判断除以7的余数 |
14. 小J的旅游计划
说明
寒假小J计划去海南旅游,他发现:
1、如果早上11点以前(不包含11点)出发,可以做汽车去;
2、如果6~15点出发,可以坐高铁;
3、如果9~24点(不包含24点)出发,可以坐飞机。
现在给你一个小J打算出发的时间,请你给出他共有几种去海南的方法。
输入输出格式及样例
| 数据1 | 数据2 | 数据3 | 数据4 | 数据5 | 数据6 | |
|---|---|---|---|---|---|---|
| 输入数据(一个正整数,t(0≤t<24),表示小,J打算出发的时间) | 5 |
6 |
9 |
10 |
11 |
23 |
| 输出数据(一个正整数,表示在这个出发时间,小J可以选择的乘坐方法数) | 1 |
2 |
3 |
3 |
2 |
1 |
Hint
1、若5点出发,只能乘坐汽车;
2、若6点出发,既可以乘坐汽车,又可以乘坐高铁;
3、若10点出发,既可以乘坐汽车、高铁,又可以乘坐飞机;
4、若11点出发,既可以乘坐高铁,又可以乘坐飞机;
5、若23点出发,只能乘坐飞机。
参考答案
1 | //分段判断 |
15. 深深的生活
说明
深深是一个非常懂生活的男孩,他给自己一周 7 天的衣服搭配了 7 种不同的色系,从周日到周六依次是:red, orange, yellow, green, indigo, blue, violet。
现在请你编写一个程序,通过输入周几,输出对应的深深那天应该穿的衣服的色系。
输入输出格式及样例
| 数据1 | 数据2 | 数据3 | |
|---|---|---|---|
| 输入数据(一个整数n(1≤n≤10^9),代表周几) | 1 |
7 |
10000 |
| 输出数据(如果1≤n≤7,输出一个全小写的英文字符串,代表对应的色系;否则,输出 error) | orange |
red |
error |
参考答案
1 | //switch |
16. 自动找人系统
说明
maoge 现在转到了警局工作,现在他被要求开发一个找人系统。给定三个参数 a,b,c,表示年,月,日,表示一个时间节点。他要找出在两个时间节点之间的时间(两个时间节点本身也包括在内)。现在给定两个时间节点和1个事件发生的时间,他要判断这个时间是否在这个时间段之中。
maoge 又双叒叕找到了你来帮忙。
输入输出格式及样例
输入数据(输入三行,三个时间,每行有三个数,表示年月日。前两行表示两个时间节点(不一定按照第一个小于第二个的顺序给出),最后一行是这个事件发生的时间。年份是小于 10000 的正整数。):
2007 1 12007 12 312007 3 22
输出数据(输出一个 Yes 或者 No 表示是否在这个时间段之中):
Yes
参考答案
1 |
|