目录
- T1. 日期输出
- 思路分析
- T2. 计算 (a + b) × (c - b) 的值
- 思路分析
- T3. 有一门课不及格的学生
- 思路分析
- T4. 特殊求和
- T5. 比 n 小的最大质数
T1. 日期输出
给定两个整数,表示一个日期的月和日。请按照 "MM-DD"
的格式输出日期,即如果月和日不到 2 2 2 位时,填补 0 0 0 使得满足 2 2 2 位。
时间限制:1 s
内存限制:64 MB
- 输入
2 2 2 个整数 m , d m,d m,d( 0 < m ≤ 12 , 0 < d ≤ 31 0 < m \le 12, 0 < d \le 31 0<m≤12,0<d≤31)。数据保证日期合法。 - 输出
按照题目要求输出日期 - 样例输入
7 18
- 样例输出
07-18
思路分析
此题考察格式化输入输出,属于入门题。
使用格式化输出 printf("%02d", ...);
可以做到题目要求的效果。简单解释一下
%d
表示以十进制形式输出,这是我们常用的格式。%2d
表示以十进制形式输出,场宽为 2 2 2(输出数字所占用的最小长度为 2 2 2),不足 2 2 2 位的数则右对齐输出,左侧自动补充空格,超出 2 2 2 位的数按实际数字输出。%02d
表示以十进制形式输出,场宽为 2 2 2,不足 2 2 2 位的数则右对齐输出,左侧自动补0
,超出 2 2 2 位的数按实际数字输出。
此外,使用 cout << setfill('0') << setw(2) << ...;
也可以达到题目要求的效果。其中 setfill('0')
表示设置填充字符为 '0'
,setw(2)
表示设置场宽为 2 2 2,默认右对齐输出。
/** Name: T1.cpp* Problem: 日期输出* Author: Teacher Gao.* Date&Time: 2024/02/28 22:50*/#include <cstdio>using namespace std;int main()
{int a, b;scanf("%d%d", &a, &b);printf("%02d-%02d", a, b);return 0;
}
T2. 计算 (a + b) × (c - b) 的值
给定 3 3 3 个整数 a a a、 b b b、 c c c,计算表达式 ( a + b ) × ( c − b ) (a+b) \times (c-b) (a+b)×(c−b) 的值。
时间限制:1 s
内存限制:64 MB
- 输入
输入仅一行,包括三个整数 a a a、 b b b、 c c c,数与数之间以一个空格分开。 − 10000 < a , b , c < 10000 -10000 < a,b,c < 10000 −10000<a,b,c<10000。 - 输出
输出一行,即表达式的值 - 样例输入
2 3 5
- 样例输出
10
思路分析
此题考查算术运算,属于入门题。只需要按照题意进行输入,并且按照题目中的式子进行计算并输出即可。
/** Name: T2.cpp* Problem: 计算 (a + b)*(c - b) 的值* Author: Teacher Gao.* Date&Time: 2024/02/29 03:10*/#include <iostream>using namespace std;int main()
{int a, b, c;cin >> a >> b >> c;cout << (a + b) * (c - b);return 0;
}
T3. 有一门课不及格的学生
给出一名学生的语文和数学成绩,判断他是否恰好有一门课不及格(成绩小于 60 60 60 分)。
时间限制:1 s
内存限制:64 MB
- 输入
一行,包含两个在 0 0 0 到 100 100 100 之间的整数,分别是该生的语文成绩和数学成绩。 - 输出
若该生恰好有一门课不及格,输出 1 1 1;否则输出 0 0 0。 - 样例输入
50 80
- 样例输出
1
思路分析
此题考察分支结构与逻辑运算,属于入门题。
需要注意的是题目要求判断该学生是否恰好有一门课不及格,也就是说会有两种情况,即语文及格但是数学不及格,或者语文不及格但是数学及格。输入两个成绩 a
和 b
之后,判断表达式 a >= 60 && b < 60 || a < 60 && b >= 60
是否成立,若成立则输出 1
,否则输出 0
。为了代码思路的清晰,参考代码将两种情况分开进行了判断。
/** Name: T3.cpp* Problem: 有一门课不及格的学生* Author: Teacher Gao.* Date&Time: 2024/02/29 03:12*/#include <iostream>using namespace std;int main()
{int a, b;cin >> a >> b;if (a >= 60 && b < 60) {cout << 1 << endl;}else if (a < 60 && b >= 60) {cout << 1 << endl;}else {cout << 0 << endl;}return 0;
}
T4. 特殊求和
此题为 2021 年 6 月一级第四题原题,见 2021 年 6 月青少年软编等考 C 语言一级真题解析中的 T4。
T5. 比 n 小的最大质数
此题为 2021 年 9 月一级第五题原题,见 2021 年 9 月青少年软编等考 C 语言一级真题解析中的 T5。