目录
- T1. 输出整数部分
- 思路分析
- T2. 疫情集中隔离
- 思路分析
- T3. 字符判断
- 思路分析
- T4. 统计数
- 思路分析
- T5. 最大质因子
- 思路分析
T1. 输出整数部分
输入一个双精度浮点数 f f f,输出其整数部分。
时间限制:1 s
内存限制:64 MB
- 输入
一个双精度浮点数 f f f。 0 < f < 100000000 0 < f < 100000000 0<f<100000000。 - 输出
一个整数,表示浮点数的整数部分。 - 样例输入
3.8889
- 样例输出
3
思路分析
此题考查基本输入输出与强制类型转换,属于入门题。
此题只需要在输出时将变量 f
强制转换为 int
类型即可。
/** Name: T1.cpp* Problem: 输出整数部分* Author: Teacher Gao.* Date&Time: 2024/03/04 22:10*/#include <iostream>using namespace std;int main()
{double f;cin >> f;cout << int(f) << endl;return 0;
}
T2. 疫情集中隔离
A A A 同学 12 12 12 月初从国外回来,按照防疫要求,需要进行 14 14 14 天集中隔离,请你实现一个程序,根据回国的时间计算集中隔离结束的日期。
比如, 12 12 12 月 1 1 1 号回来, 1 1 1 号当天开始隔离, 14 14 14 号是隔离的最后一天,因此 14 14 14 号是集中隔离结束的日期。
时间限制:1 s
内存限制:64 MB
- 输入
一个整数 x x x,表示 A A A 同学 12 12 12 月 x x x 号回国。 1 ≤ x ≤ 15 1 ≤ x ≤ 15 1≤x≤15。 - 输出
一个整数 y y y,表示 A A A 同学结束集中隔离的日期,即 12 12 12 月 y y y 号 A A A 结束集中隔离。 - 样例输入
1
- 样例输出
14
思路分析
此题考查算术运算,属于入门题。
此题只需要将变量 x
加上 13 13 13 并输出即可。之所以加 13 13 13 是因为回国当天算隔离的第 1 1 1 天,后续只需要再隔离 13 13 13 天即可,也就是 13 13 13 天后就是隔离的最后一天。
/** Name: T2.cpp* Problem: 疫情集中隔离* Author: Teacher Gao.* Date&Time: 2024/03/04 22:12*/#include <iostream>using namespace std;int main()
{int x;cin >> x;cout << x + 13;return 0;
}
T3. 字符判断
对于给定的字符,如果该字符是大小写字母或者数字,输出 YES
,否则输出 NO
。
时间限制:1 s
内存限制:64 MB
- 输入
一个字符。 - 输出
按照题目要求输出YES
或者NO
。 - 样例输入 1 1 1
A
- 样例输出 1 1 1
YES
- 样例输入 2 2 2
a
- 样例输出 2 2 2
YES
- 样例输入 3 3 3
1
- 样例输出 3 3 3
YES
- 样例输入 4 4 4
*
- 样例输出 4 4 4
NO
思路分析
此题考察分支结构,属于入门题。不过分类较多,较为复杂。思路与同年 6 6 6 月份考试的 T3 一致,可以参考2021 年 6 月青少年软编等考 C 语言一级真题解析中的 T3。
/** Name: T3.cpp* Problem: 字符判断* Author: Teacher Gao.* Date&Time: 2024/03/04 22:13*/#include <iostream>using namespace std;int main()
{char ch;cin >> ch;if ('0' <= ch && ch <= '9') {cout << "YES" << endl;}else if ('A' <= ch && ch <= 'Z') {cout << "YES" << endl;}else if ('a' <= ch && ch <= 'z') {cout << "YES" << endl;}else {cout << "NO" << endl;}return 0;
}
T4. 统计数
给定一个数的序列 S S S,以及一个区间 [ L , R ] [L, R] [L,R],求序列中介于该区间的数的个数,即序列中大于等于 L L L 且小于等于 R R R 的数的个数。
时间限制:1 s
内存限制:64 MB
- 输入
第一行 3 3 3 个整数 n , L , R n, L, R n,L,R,分别表示序列的长度,区间的左端点,区间的右端点。 0 < n ≤ 10000 0 < n ≤ 10000 0<n≤10000, 1 ≤ L ≤ R ≤ 1000000 1 ≤ L ≤ R ≤ 1000000 1≤L≤R≤1000000。
第二行 n n n 个正整数,表示序列里的每一个数,每个数小于等于 10000000 10000000 10000000。 - 输出
输出一个整数,表示序列中大于等于 L L L 且小于等于 R R R 的数的个数。 - 样例输入
5 1 10 11 8 1 10 16
- 样例输出
3
思路分析
此题考查循环结构,以及分支结构判断范围,属于入门题。
此题需要依次判断输入的每个数 x
。若 x
大于等于 L L L 并且小于等于 R R R ,则将 x
累加。
/** Name: T4.cpp* Problem: 统计数* Author: Teacher Gao.* Date&Time: 2024/03/04 22:17*/#include <iostream>using namespace std;int main()
{int n, L, R, x;cin >> n >> L >> R;int tot = 0;for (int i = 1; i <= n; i++) {cin >> x;if (L <= x && x <= R) {tot++;}}cout << tot << endl;return 0;
}
T5. 最大质因子
质因子是指能整除给定正整数的质数。而最大质因子是指一个整数的所有质因子中最大的那个。
比如 30 30 30 的质因子有 2 2 2, 3 3 3, 5 5 5,所以最大质因子就是 5 5 5。
时间限制:1 s
内存限制:64 MB
- 输入
一个整数 n n n。 2 ≤ n ≤ 10000 2 ≤ n ≤ 10000 2≤n≤10000。 - 输出
n n n 的最大质因子 - 样例输入
30
- 样例输出
5
思路分析
此题考查质数判断,需要用到循环结构,属于一般应用题。
此题可以用循环遍历从 n n n 到 2 2 2 的所有整数,依次判断每个整数 i
是否为 n
的因子。若是 n
的因子,则继续判断 i
是否为质数。若为质数,则输出 i
即可结束程序。
思路与同年 9 9 9 月份考试的 T5 大体相同,只是需要在判断 i
是否为质数之前先判断一下 i
是否为 n
的因子。质数判断过程的分析可以参考2021 年 9 月青少年软编等考 C 语言一级真题解析中的 T5。
/** Name: T5.cpp* Problem: 最大质因子* Author: Teacher Gao.* Date&Time: 2024/03/04 22:20*/#include <iostream>using namespace std;int main()
{int n;cin >> n;for (int i = n; i >= 2; i--) {if (n % i == 0) {// 条件成立,说明 i 是 n 的因子// 接下来用标记法判断 i 是否为质数bool flag = 1;for (int j = 2; j * j <= i; j++) {if (i % j == 0) {flag = 0;break;}}if (flag) {cout << i << endl;break;}}}return 0;
}