2024年06月C语言一级参考答案

2024年06月C语言一级参考答案

一、简答题

1、奇迹

经典电影《阿甘正传》有句台词,说:“Miracles happen every day.”(奇迹每天都发生)。本题就请你直接在屏幕上输出这句话。

时间限制:1000

内存限制:65535

输入

本题没有输入。

输出

在一行中输出 Miracles happen every day.。

样例输入

样例输出

Miracles happen every day.

参考答案:

直接输出"Miracles happen every day."

2、九牛一毛

这是一道脑筋急转弯题:猪肉一斤 15 元,鸡肉一斤 20 元,那么一毛钱能买多少头牛?

答案是:9 —— 因为“九牛一毛”。

本题就请你按照这个逻辑,计算一下 N 块钱能买多少斤猪肉、多少斤鸡肉、多少头牛。

时间限制:1000

内存限制:65536

输入

输入在一行中给出一个不超过 1000 的正整数 N,即以“元”为单位的货币量。

输出

在一行中顺序输出 N 块钱能买多少斤猪肉、多少斤鸡肉、多少头牛。三个数字都取整数,其间以 1 个空格分隔,行首尾不得有多余空格。

样例输入

18

样例输出

1 0 1620

参考答案:

代码实现如下:

#include

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;

}

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

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;

}

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

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

}

5、药房管理(2024年6月)

随着信息技术的蓬勃发展,医疗信息化已经成为医院建设中必不可少的一部分。计算机可以很好地辅助医院管理医生信息、病人信息、药品信息等海量数据,使工作人员能够从这些机械的工作中解放出来,将更多精力投入真正的医疗过程中,从而极大地提高了医院整体的工作效率。

对药品的管理是其中的一项重要内容。现在药房的管理员希望使用计算机来帮助他管理。假设对于任意一种药品,每天开始工作时的库存总量已 知,并且一天之内不会通过进货的方式增加。每天会有很多病人前来取药,每个病人希望取走不同数量的药品。如果病人需要的数量超过了当时的库存量,药房会拒 绝该病人的请求。管理员希望知道每天会有多少病人没有取上药。

时间限制:1000

内存限制:65536

输入

共3行 第一行是每天开始时的药品总量m 第二行是这一天取药的人数n(0 < n <= 100) 第三行共有n个数,分别记录了每个病人希望取走的药品数量(按照时间先后的顺序),两数之间以空格分隔

输出

只有1行,为这一天没有取上药品的人数。

样例输入

30

6

10 5 20 6 7 8

样例输出

2参考答案:

#include

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;

}

喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

上一篇: 烟雨江湖泥鳅哪里买
下一篇: 一念永恒为什么要小心侯小妹 - 一念,永恒,为什么,要小心,小妹,一念永恒小心侯小妹,为什么要,小心,一念永恒,小心侯小妹,为什

相关文章

重庆高楼排名前十名(重庆最高的高楼有多少米)
联通墨韵卡19元135G+100分钟(2-25个月19元)
意大利队和法国队历史战绩
鸣潮浸梦海床新乘霄客栈两个结局攻略
骑马与砍杀2最大带兵数
2023年艾灸器十大品牌排行榜-艾灸器哪个牌子好