中国电子学会2023年05月份青少年软件编程C++等级考试试卷一级真题(含答案)

1. 输出第二个整数

输入三个整数,把第二个输入的整数输出。
时间限制:1000
内存限制:65536

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

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

样例输入
123 456 789

样例输出
456

参考答案:

#include <bits/stdc++.h>
using namespace std;
long long a,b,c;
int main() {
    
    
  cin>>a>>b>>c;
  cout<<b;
  return 0;
}
  1. 计算表达式的值
    给定整数x,y的值,计算3x+2y的值。
    时间限制:3000
    内存限制:65536

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

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

样例输入
2 3

样例输出
12

参考答案:

#include <bits/stdc++.h>
using namespace std;
long long x,y;
int main() {
    
    
  cin>>x>>y;
  cout<<x*3+2*y;
  return 0;
}
  1. 大写字母的判断
    输入一个字符,判断是否是英文大写字母,即是否是A-Z中的一个。
    时间限制:1000
    内存限制:65536

输入
一个字符。

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

样例输入
K

样例输出
YES

参考答案:

#include <bits/stdc++.h>
using namespace std;
char a;
int main() {
    
    
  cin>>a;
  if(a>='A' && a<='Z')
      cout<<"YES";
  else cout<<"NO";
      return 0;
}

4. 满足条件的数的累加

现有n个整数,将其中个位数为k的数进行累加求和。
时间限制:1000
内存限制:65536

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

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

样例输入
10 7
2 5 7 17 11 18 4 27 1 7

样例输出
58

参考答案:

#include <bits/stdc++.h>
using namespace std;
long long n,k,c,f;
int main() {
    
    
  cin>>n>>k;
  while(n){
    
    
      n--;
      cin>>c;
      if(c%10==k)
      f+=c;
  }
  cout<<f;
  return 0;
}

5. 金币

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

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

输出
骑士获得的金币数。

样例输入
6

样例输出
14

参考答案:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    
    int n;
    cin >> n;
    int h=0;
    int l = 1 , i , sum = 0;
    for( i=1;i<=n;i+=l)
    {
    
    
        sum+=l*(i-h);
        l++;
        h=i;
    }
    if(i!=n)
    {
    
    
        sum+=(n-h)*l;
    }
    cout<<sum;
}

猜你喜欢

转载自blog.csdn.net/m0_46227121/article/details/131212860