一、简答题
1、奇迹
经典电影《阿甘正传》有句台词,说:“Miracles happen every day.”(奇迹每天都发生)。本题就请你直接在屏幕上输出这句话。
时间限制:1000
内存限制:65535
输入
本题没有输入。
输出
在一行中输出 Miracles happen every day.。
样例输入
无
样例输出
Miracles happen every day.
参考答案:
直接输出"Miracles happen every day."
解析:
本题要求直接在屏幕上输出"Miracles happen every day.",这是一个简单的输出语句,没有涉及到具体的算法和计算。在C语言中,我们可以使用printf函数进行输出。因此,直接输出这句话即可。
2、九牛一毛
这是一道脑筋急转弯题:猪肉一斤 15 元,鸡肉一斤 20 元,那么一毛钱能买多少头牛?
答案是:9 —— 因为“九牛一毛”。
本题就请你按照这个逻辑,计算一下 N 块钱能买多少斤猪肉、多少斤鸡肉、多少头牛。
时间限制:1000
内存限制:65536
输入
输入在一行中给出一个不超过 1000 的正整数 N,即以“元”为单位的货币量。
输出
在一行中顺序输出 N 块钱能买多少斤猪肉、多少斤鸡肉、多少头牛。三个数字都取整数,其间以 1 个空格分隔,行首尾不得有多余空格。
样例输入
18
样例输出
1 0 1620
参考答案:
代码实现如下:
#include <stdio.h>
int main() {
int N, pork, chicken, cow;
scanf("%d", &N); // 读入货币量N
pork = N / 15; // 计算N块钱能买多少斤猪肉
chicken = N / 20; // 计算N块钱能买多少斤鸡肉
cow = N / 100; // 计算N块钱能买多少头牛(一头牛价值一毛钱)
printf("%d %d %d\n", pork, chicken, cow); // 输出结果,注意空格分隔和行尾换行符
return 0;
}
解析:
本题是一道关于货币换算的问题。首先需要根据给定的货币量N和商品的单价计算出能购买的各种商品的数量。在这个问题中,需要计算的是猪肉、鸡肉和牛的数量。根据题目中的价格信息,我们知道猪肉一斤的价格是15元,鸡肉一斤的价格是20元,而一头牛的价值是一毛钱(即0.01元)。因此,我们可以通过简单的除法计算出N块钱能买多少斤猪肉、多少斤鸡肉以及多少头牛。注意输出的数字需要取整数,并且以空格分隔。
3、A除以B
给定两个绝对值不超过 100 的整数 A 和 B,要求你按照“A/B=商”的格式输出结果。
时间限制:1000
内存限制:65536
输入
输入在第一行给出两个整数 A 和 B(-100 ≤ A, B ≤ 100),数字间以空格分隔。
输出
在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为“Error”。输出的商应保留小数点后2位。
样例输入
样例1:
-1 2
样例2:
1 -3
样例3:
5 0
样例输出
样例1:
-1/2=-0.50
样例2:
1/(-3)=-0.33
样例3:
5/0=Error
参考答案:
#include <stdio.h>
int main() {
int A, B;
double quotient;
scanf("%d %d", &A, &B);
if (B == 0) {
printf("Error\n");
} else if (B < 0) {
printf("%d/(-%d)=%.2f\n", A, -B, (double)A / (-B));
} else {
printf("%d/%d=%.2f\n", A, B, (double)A / B);
}
return 0;
}
解析:
本题要求根据输入的两个整数A和B,按照规定的格式输出A除以B的结果。首先读取输入的A和B,然后判断B是否为零。如果B为零,则输出"Error";如果B为负数,则将分母用括号括起来输出;如果B为正数,则直接输出商。在计算商时,需要注意保留小数点后两位,因此需要将A和B转换为double类型进行除法运算。最后返回0表示程序正常结束。
4、进化论
在“一年一度喜剧大赛”上有一部作品《进化论》,讲的是动物园两只猩猩进化的故事。猩猩吕严说自己已经进化了 9 年了,因为“三年又三年”。猩猩土豆指出“三年又三年是六年呐”……
本题给定两个数字,以及用这两个数字计算的结果,要求你根据结果判断,这是吕严算出来的,还是土豆算出来的。
时间限制:1000
内存限制:65535
输入
输入第一行给出一个正整数 N,随后 N 行,每行给出三个正整数 A、B 和 C。其中 C 不超过 10000,其他三个数字都不超过 100。
输出
对每一行给出的三个数,如果 C 是 A×B,就在一行中输出 Lv Yan;如果是 A+B,就在一行中输出 Tu Dou;如果都不是,就在一行中输出 zhe du shi sha ya!。
样例输入
3 3 3 9 3 3 6 3 3 12
样例输出
Lv Yan Tu Dou zhe du shi sha ya!
参考答案:
根据题目的描述和给定的样例输入、输出,我们可以得出以下C语言的代码实现:
#include <stdio.h>
int main() {
int N, A, B, C;
scanf("%d", &N); // 读入正整数N
for (int i = 0; i < N; i++) {
scanf("%d %d %d", &A, &B, &C); // 读入三个正整数A、B和C
if (C == A * B) { // 判断是否满足C等于A乘以B的条件
printf("Lv Yan\n"); // 如果满足,输出吕严
} else if (C == A + B) { // 判断是否满足C等于A加B的条件
printf("Tu Dou\n"); // 如果满足,输出土豆
} else { // 如果都不满足,输出其他结果
printf("zhe du shi sha ya!\n"); // 输出其他结果提示信息
}
}
return 0; // 程序结束返回0
}
解析:
解析:该题目的主要逻辑是判断输入的三个数是否满足某种特定关系,然后输出对应的结果。首先读入正整数N表示需要处理的输入行数,然后对于每一行输入,读入三个正整数A、B和C。接着判断C是否等于A乘以B或者等于A加B,如果满足条件则输出对应的答案(吕严或土豆),否则输出其他结果提示信息。注意题目要求输出格式严格按照题目要求,包括空格和换行符的使用。
5、药房管理(2024年6月)
随着信息技术的蓬勃发展,医疗信息化已经成为医院建设中必不可少的一部分。计算机可以很好地辅助医院管理医生信息、病人信息、药品信息等海量数据,使工作人员能够从这些机械的工作中解放出来,将更多精力投入真正的医疗过程中,从而极大地提高了医院整体的工作效率。
对药品的管理是其中的一项重要内容。现在药房的管理员希望使用计算机来帮助他管理。假设对于任意一种药品,每天开始工作时的库存总量已 知,并且一天之内不会通过进货的方式增加。每天会有很多病人前来取药,每个病人希望取走不同数量的药品。如果病人需要的数量超过了当时的库存量,药房会拒 绝该病人的请求。管理员希望知道每天会有多少病人没有取上药。
时间限制:1000
内存限制:65536
输入
共3行 第一行是每天开始时的药品总量m 第二行是这一天取药的人数n(0 < n <= 100) 第三行共有n个数,分别记录了每个病人希望取走的药品数量(按照时间先后的顺序),两数之间以空格分隔
输出
只有1行,为这一天没有取上药品的人数。
样例输入
30 6 10 5 20 6 7 8
样例输出
2
参考答案:
#include <stdio.h>
int main() {
int m, n; // m为药品总量,n为取药人数
scanf("%d %d", &m, &n);
int demand[n]; // 记录每个病人希望取走的药品数量
for (int i = 0; i < n; i++) {
scanf("%d", &demand[i]);
}
int count = 0; // 记录没有取上药品的人数
for (int i = 0; i < n; i++) {
if (m < demand[i]) { // 如果病人需求超过库存,则增加计数
count++;
} else { // 减少库存量
m -= demand[i];
}
}
printf("%d\n", count); // 输出没有取上药品的人数
return 0;
}
解析:
本题要求实现一个药房管理程序,根据输入的药品总量和病人取药需求,计算并输出没有取上药品的人数。首先读取药品总量和取药人数,然后读取每个病人的需求。使用一个循环遍历所有病人的需求,如果某个病人的需求超过了当时的药品库存量,则增加没有取上药品的人数计数;否则,从库存量中减去该病人的需求。最后输出没有取上药品的人数。程序使用C语言实现,通过scanf函数读取输入,通过printf函数输出结果。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!