2020 年 9 月青少年软编等考 C 语言一级真题解析

发布于:2024-04-09 ⋅ 阅读:(30) ⋅ 点赞:(0)

T1. 输出整数

输入四个整数,把输入的第三、第四个整数输出。

时间限制:1 s
内存限制:64 MB

  • 输入
    只有一行,共四个整数,整数之间由一个空格分隔。整数是 32 32 32 位有符号整数。
  • 输出
    只有一行,二个整数,即输入的第三、第四个整数,以一个空格分开。
  • 样例输入
    12 34 56 789
    
  • 样例输出
    56 789
    

思路分析

此题考察基本输入输出,属于入门题。按照题意进行输入,然后输出第三、第四个变量即可。

/*
 * Name: T1.cpp
 * Problem: 输出整数
 * Author: Teacher Gao.
 * Date&Time: 2024/04/07 15:00
 */

#include <iostream>

using namespace std;

int main()
{
    int a, b, c, d;
    cin >> a >> b >> c >> d;

    cout << c << " " << d << endl;

    return 0;
}

T2. 新冠疫情死亡率

2020 2020 2020 年全世界爆发了新冠疫情,请根据某个国家报告的新冠确诊数和死亡数,计算新冠疫情在该国的死亡率。

时间限制:1 s
内存限制:64 MB

  • 输入
    输入仅一行,有两个整数,第一个为确诊数,第二个为死亡数。
  • 输出
    输出仅一行,新冠死亡率,以百分数形式输出,精确到小数点后 3 3 3 位。
  • 样例输入
    10433 60
    
  • 样例输出
    0.575%
    
  • 提示
    输出 % 可以使用 printf("%%");

思路分析

此题考察算术运算,以及浮点数精度控制,属于入门题。

此题输入两个变量 ab 之后,即可进行 b / a 的计算,注意到这两个变量都是整数类型,因此可以采用 1.0 * b / a 进行计算,确保计算结果包含小数。然后还要将结果转换为百分数的形式,也就是需要将分母化为 100 100 100,那么只需要将计算结果乘以 100 100 100,并在最后补上 % 即可。

/*
 * Name: T2.cpp
 * Problem: 新冠疫情死亡率
 * Author: Teacher Gao.
 * Date&Time: 2024/04/07 15:03
 */

#include <cstdio>

using namespace std;

int main()
{
	int a, b;
	scanf("%d%d", &a, &b);

	printf("%.3f%%\n", 1.0 * b / a * 100);

	return 0;
}

T3. 有一门课不及格的学生

此题为 2023 年 9 月一级第三题原题,见 2023 年 9 月青少年软编等考 C 语言一级真题解析中的 T3。

T4. 整数的个数

给定 k k k 1 < k < 100 1 < k < 100 1<k<100)个正整数,其中每个数都是大于等于 1 1 1,小于等于 10 10 10 的数。写程序计算给定的 k k k 个正整数中, 1 1 1 5 5 5 10 10 10 出现的次数。

时间限制:1 s
内存限制:64 MB

  • 输入
    输入有两行。
    第一行包含一个正整数 k k k
    第二行包含 k k k 个正整数,每两个正整数用一个空格分开。
  • 输出
    输出有三行。
    第一行为 1 1 1 出现的次数。
    第二行为 5 5 5 出现的次数。
    第三行为 10 10 10 出现的次数。
  • 样例输入
    5
    1 5 8 10 5
    
  • 样例输出
    1
    2
    1
    

思路分析

此题考查循环结构与分支结构,属于入门题。设置 3 3 3 个计数器变量分别进行统计即可。

/*
 * Name: T4.cpp
 * Problem: 整数的个数
 * Author: Teacher Gao.
 * Date&Time: 2024/04/07 15:17
 */

#include <iostream>

using namespace std;

int main()
{
	int n, x;
	int tot_1 = 0, tot_5 = 0, tot_10 = 0;
	cin >> n;

	for (int i = 1; i <= n; i++) {
		cin >> x;
		if (x == 1) tot_1++;
		else if (x == 5) tot_5++;
		else if (x == 10) tot_10++;
	}

	cout << tot_1 << endl;
	cout << tot_5 << endl;
	cout << tot_10 << endl;

	return 0;
}

T5. 金币

此题为 2023 年 5 月一级第五题原题,见 2023 年 5 月青少年软编等考 C 语言一级真题解析中的 T5。


网站公告

今日签到

点亮在社区的每一天
去签到