当前位置:   article > 正文

中国电子学会2023年03月份青少年软件编程C++等级考试试卷一级真题(含答案)_中国电子学会c++等级考试真题考察形式全是编程题吗

中国电子学会c++等级考试真题考察形式全是编程题吗

一、编程题(共5题,共100分)
1.    字符长方形
给定一个字符,用它构造一个长为4个字符,宽为3个字符的长方形,可以参考样例输出。
时间限制:1000
内存限制:65536
输入
输入只有一行, 包含一个字符。
输出
该字符构成的长方形,长4个字符,宽3个字符。
样例输入
*
样例输出
****
****
****

参考答案:

  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. char a;
  5. cin >> a;
  6. cout << a << a << a << a << endl;
  7. cout << a << a << a << a << endl;
  8. cout << a << a << a << a << endl;
  9. return 0;
  10. }

2.长方形面积
给出一个长方形的长和宽,求该长方形的面积。假设长为a,宽为b,则面积S=a×b。
时间限制:1000
内存限制:65536
输入
一行,2个正整数,以空格分隔,分别表示长方形的长和宽。长和宽都不大于1000。
输出
一个整数,即长方形的面积。
样例输入
4 3
样例输出
12

参考答案:

  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. int a, b, S;
  5. S = a * b;
  6. cin >> a >> b;
  7. cout << S << endl;
  8. return 0;
  9. }

3.成绩等级转换
小明想将自己的百分制成绩转换为等级制,请你帮他完成这样的转换。转换规则为:
A,90-100
B,77-89
C,67-76
D,60-66
E,0-59
时间限制:1000
内存限制:65536
输入
一个0 - 100 的整数
输出
输出转换后的等级,一个A-E的大写字母。
样例输入
样例1:
85
样例2:
62
样例输出
样例1:
B
样例2:
D

参考答案:

  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4. int a;
  5. cin>>a;
  6. if(a>=90 && a<=100)cout<<"A";
  7. else if(a>=77 && a<=89)cout<<"B";
  8. else if(a>=67 && a<=79)cout<<"C";
  9. else if(a>=60 && a<=66)cout<<"D";
  10. else cout<<"E";
  11. return 0;
  12. }

4.机智的小明
小明的妈妈非常关心小明的成绩,每次考试后都会问小明是否进步了。机智的小明会努力找出之前比这次成绩低的试卷进行比较,如果找到了,他会回答妈妈自己进步了(Y),如果没找到,他只能回答妈妈没进步(N)。已知小明的n次成绩,请问每次妈妈询问小明,小明的回答是怎么样的。
时间限制:1000
内存限制:65536
输入
输入为2行,第1行是一个整数n(n < 100),即考试成绩的数量,第二行是n个整数,即每次考试成绩。输入保证n不大于100,考试成绩在0到100之间。
输出
n行,每行是小明的回答(Y或N)
样例输入
5
90 80 95 96 50
样例输出
N
N
Y
Y
N
提示
对于每一次成绩,只要之前的成绩有任意一次成绩比当前成绩低,就输出Y,否则输出N
 

参考答案:

  1. #include <iostream>
  2. using namespace std;
  3. int a,n,c;
  4. int main() {
  5. cin>>a;
  6. for(int i=1;i<=a;i++){
  7. cin>>n;
  8. if(i==1){
  9. c=n;
  10. cout<<"N"<<endl;
  11. }else {
  12. if(n>c)cout<<"Y"<<endl;
  13. else {
  14. cout<<'N'<<endl;
  15. c=n;
  16. }
  17. }
  18. }
  19. return 0;
  20. }

5.寻找特殊年号
年号中的每个数之和为20的年号是特殊年号。例如:2099、1991、1892是特殊的年号,而2021则不是。给定一个年号,找出严格大于给定年号的最小特殊年号。
时间限制:1000
内存限制:65535
输入
年号:整数y(1000≤y≤9000)。
输出
特殊年号:严格意义上大于y的最小年号,并且它的每个数之和为20。
样例输入
# 样例输入1
1892

# 样例输入2
2021
样例输出
# 样例输出1
1919

# 样例输出2
2099
提示
因为2+0+9+9=20,所以2099是特殊年号。 因为2+0+2+1=5,所以2021不是特殊年号。 特殊年号可能大于9000。
 

参考答案:

  1. #include <iostream>
  2. using namespace std;
  3. int a,b,ge,shi,bai,qian;
  4. int main() {
  5. cin>>a;
  6. a=a+1;
  7. b=a;
  8. for(;b!=0;b++){
  9. ge=b%10;
  10. shi=b/10%10;
  11. bai=b/10/10%10;
  12. qian=b/10/10/10;
  13. if(ge+shi+bai+qian==20){
  14. cout<<b;
  15. break;
  16. }
  17. }
  18. return 0;
  19. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/169692
推荐阅读
相关标签
  

闽ICP备14008679号