本文主要是介绍2022 年 12 月青少年软编等考 C 语言一级真题解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- T1. 加一
- 思路分析
- T2. (a / b) × c 的值
- T3. 判断是否存在重复的数
- 思路分析
- T4. 整数的立方和
- 思路分析
- T5. 自整除数
- 思路分析
T1. 加一
输入一个整数 x x x,输出这个整数加 1 1 1 后的值,即 x + 1 x+1 x+1 的值。
时间限制:1 s
内存限制:64 MB
- 输入
一个整数 x x x( 0 ≤ x ≤ 1000 0 ≤ x ≤ 1000 0≤x≤1000)。 - 输出
按题目要求输出一个整数。 - 样例输入
9
- 样例输出
10
思路分析
此题考查基本输入输出与算术运算,属于入门题。按照题意输入 x
,然后输出 x + 1
即可。
/** Name: T1.cpp* Problem: 加一* Author: Teacher Gao.* Date&Time: 2024/03/04 23:13*/#include <iostream>using namespace std;int main()
{int x;cin >> x;cout << x + 1 << endl;return 0;
}
T2. (a / b) × c 的值
此题为 2021 年 6 月一级第二题原题,见 2021 年 6 月青少年软编等考 C 语言一级真题解析中的 T2。
T3. 判断是否存在重复的数
给定 3 3 3 个数,判断是否存在 2 2 2 个数相等,如果存在输出 YES
,否则输出 NO
。
时间限制:1 s
内存限制:64 MB
- 输入
1 1 1 行,包含 3 3 3 个整数,以空格分隔。 - 输出
按照题目要求输出结果。 - 样例输入
2 7 2
- 样例输出
YES
思路分析
此题考查分支结构与逻辑运算,属于入门题。
此题只需要按照题意判断是否存在 2 2 2 个数相等即可。需要注意的是,输入的有 3 3 3 个数,所以会有 3 3 3 种不同的情况,任意一种成立即可。
/** Name: T3.cpp* Problem: 判断是否存在重复的数* Author: Teacher Gao.* Date&Time: 2024/03/04 23:14*/#include <iostream>using namespace std;int main()
{int a, b, c;cin >> a >> b >> c;if (a == b || a == c || b == c) {cout << "YES" << endl;}else {cout << "NO" << endl;}return 0;
}
T4. 整数的立方和
给定一个正整数 k k k( 1 < k < 10 1<k<10 1<k<10),求 1 1 1 到 k k k 的立方和 m m m,即 m = 1 + 2 × 2 × 2 + . . . k × k × k m=1+2 \times 2 \times 2 +... k \times k \times k m=1+2×2×2+...k×k×k。
时间限制:1 s
内存限制:64 MB
- 输入
输入只有一行,该行包含一个正整数 k k k。 - 输出
输出只有一行,该行包含 1 1 1 到 k k k 的立方和。 - 样例输入
5
- 样例输出
225
思路分析
此题考查循环结构,属于入门题。
此题只需要用循环遍历 1 1 1 到 k k k 之间的所有整数,将每个数的 3 3 3 次方进行累加即可。
/** Name: T4.cpp* Problem: 整数的立方和* Author: Teacher Gao.* Date&Time: 2024/03/04 23:15*/#include <iostream>using namespace std;int main()
{int k;cin >> k;int sum = 0;for (int i = 1; i <= k; i++) {sum += i * i * i;}cout << sum << endl;return 0;
}
T5. 自整除数
对一个整数 n n n,如果其各个位数的数字相加得到的数 m m m 能整除 n n n,则称 n n n 为自整除数。例如 21 , 21 21,21%(2+1)==0 21,21,所以 21 21 21 是自整除数。现求出从 10 10 10 到 n ( n < 100 ) n(n < 100) n(n<100) 之间的所有自整除数。
时间限制:1 s
内存限制:64 MB
- 输入
有一行,整数 n n n( 10 ≤ n < 100 10 \le n < 100 10≤n<100)。 - 输出
有多行。按从小到大的顺序输出所有大于等于 10 10 10,小于等于 n n n 的自整除数,每行一个自整除数。 - 样例输入
47
- 样例输出
10 12 18 20 21 24 27 30 36 40 42 45
思路分析
此题考查循环结构,以及数位拆分,属于一般应用题。思路与 2021 2021 2021 年 6 6 6 月份考试的 T4 相似,难度略低,可以参考 2021 年 6 月青少年软编等考 C 语言一级真题解析中的 T4。
此题不需要在数位拆分过程中使用分支结构进行判断,只需要将每次拆出的最低位进行累加,之后再判断该累加和是否为 i
的因子,若是 i
的因子,则输出 i
即可。需要注意的是该累加器变量 sum
需要在每次对 i
进行拆分之前初始化为 0 0 0。
/** Name: T5.cpp* Problem: 自整除数* Author: Teacher Gao.* Date&Time: 2024/03/04 23:16*/#include <iostream>using namespace std;int main()
{int n;cin >> n;for (int i = 10; i <= n; i++) {int t = i, sum = 0;while (t) {sum += t % 10;t /= 10;}if (i % sum == 0) {cout << i << endl;}}return 0;
}
这篇关于2022 年 12 月青少年软编等考 C 语言一级真题解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!