image

编辑人: 青衫烟雨

calendar2025-06-06

message6

visits392

2024年06月C语言一级答案及解析

一、简答题

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函数输出结果。

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

创作类型:
原创

本文链接:2024年06月C语言一级答案及解析

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share