当前位置:   article > 正文

2023年5月份中国电子学会青少年软件编程(C语言)等级考试一级真题讲解_中国电子学会全国青少年软件编程(c语言)等级考试

中国电子学会全国青少年软件编程(c语言)等级考试

1、输出第二个整数

题目描述:输入三个整数,把第二个输入的整数输出。

输入:只有一行,共三个整数,整数之间由一个空格分隔。整数是32位有符号整数。

输出:只有一行,一个整数,即输入的第二个整数。

样例输入:123 456 789

样例输出:456

考察知识点:顺序结构,变量的输入与输出。

思路分析:32位有符号整数就是int类型的变量,本题可以定义3个int类型的变量,然后依次输入赋值,最后将第二个变量的值输出

参考代码如下: 

  1. #include<stdio.h>
  2. int main() {
  3. int a,b,c;
  4. scanf("%d%d%d",&a,&b,&c);
  5. printf("%d\n",b);
  6. return 0;
  7. }

2、计算表达式的值

题目描述:给定整数x,y的值,计算3*x+2*y的值。

输入:一行包含2个整数x、y,以空格作为分隔。数据保证最后计算结果还在整数表示范围内。

输出:按照题目要求输出结果

样例输入:2 3

样例输出:12

考察知识点:顺序结构、基本运算符的使用。

思路分析:本题可以定义两个int类型的变量,然后按照题目要求的3*x+2*y带入进行运算,最后得出结果

参考代码如下: 

  1. #include<stdio.h>
  2. int main() {
  3. int x,y;
  4. scanf("%d%d",&x,&y);
  5. printf("%d\n",3*x+2*y);
  6. return 0;
  7. }

3、大写字母的判断

题目描述: 输入一个字符,判断是否是英文大写字母,即是否是A-Z中的一个。

输入:一个字符。

输出:如果是英文大写字母,则输出YES,否者输出NO。

样例输入:K

样例输出:YES

考察知识点:if的使用、字符范围判断、逻辑运算符的使用。

思路分析:本题可以定义1个char类型变量用来存储输入的英文字符,假设设定的变量为x,那么只需要通过 x>='A' && x<='Z' 此表达式就能判断x是否为大写字母。

参考代码如下: 

  1. #include<stdio.h>
  2. int main() {
  3. char x;
  4. scanf("%c",&x);
  5. if(x>='A' && x<='Z') {
  6. printf("YES\n");
  7. }
  8. else {
  9. printf("NO\n");
  10. }
  11. return 0;
  12. }

4、满足条件的数的累加

题目描述: 现有n个整数,将其中个位数为k的数进行累加求和。

输入:第一行两个整数n、k,以空格分隔。( 0 < n < 1000, 0 ≤ k ≤ 9) 第二行n个非负整数,以空格分隔,每个数不大于100000。

输出:输出满足题目要求的累加和。

样例输入:

10 7
2 5 7 17 11 18 4 27 1 7

样例输出:58

考察知识点:循环的使用、累加的基本思路、%的使用

思路分析:本题可以定义三个int类型变量n、k、sum。n代表循环n次,sum用来存储累加的和,循环n次,每次输入一个整数,然后通过%取出当前这个整数的最末位,判断是否等于k,如果是,将这个整数累加到sum中,如果不是就不累加。

参考代码如下: 

  1. #include<stdio.h>
  2. int main() {
  3. int n,k,sum=0,t;
  4. scanf("%d%d",&n,&k);
  5. while(n--) {
  6. scanf("%d",&t);
  7. if(t%10==k) {
  8. sum+=t;
  9. }
  10. }
  11. printf("%d\n",sum);
  12. return 0;
  13. }

5、金币

题目描述: 国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币(N为任意正整数)。你需要编写一个程序,确定从第一天开始的给定天数内,骑士一共获得了多少金币。

输入:一个整数(范围1到10000),表示天数。

输出:骑士获得的金币数。

样例输入:6

样例输出:14

考察知识点:循环+分支的基本运用,逻辑思维

思路分析:本题可以定义一个变量n,代表经过的天数,定义变量x,。

参考代码如下: 

  1. #include<stdio.h>
  2. int main() {
  3. int n,i,sum=0,x=1;
  4. scanf("%d",&n);
  5. //总共需要经历n天
  6. while(n>0) {
  7. for(i=0;i<x;i++) {
  8. sum += x;
  9. n--;
  10. if(n==0) {
  11. printf("%d\n",sum);
  12. return 0;
  13. }
  14. }
  15. x++;
  16. }
  17. return 0;
  18. }
  19. // 如果你想进入算法讨论群,请私加V:XWL362700

代码解释:x代表接下来的之后x天每天收到x枚金币,代码中的n代表天数,只要天数不为0,就一直累加运算,直到天数为0,输出总共获得的金币数量。

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

闽ICP备14008679号