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

青少年软件编程(C语言)等级考试试卷(一级)

分数:100 题数:5

一、编程题(共5题,共100分)

1. 嫑废话上代码

Linux 之父 Linus Torvalds 的名言是:“Talk is cheap. Show me the code.”(嫑废话,上代码)。本题就请你直接在屏幕上输出这句话。
时间限制:1000
内存限制:65536
输入
本题没有输入。
输出
在一行中输出 Talk is cheap. Show me the code.
样例输入

样例输出
Talk is cheap. Show me the code.

参考答案:

#include<bits/stdc++.h>
using namespace std;
int main()
{
  cout<<"Talk is cheap. Show me the code.";
}
2. 太神奇了

“告诉大家一个神奇的消息,太神奇了:明年全世界所有的人都同岁,全部都等于2022。明年的日子很特别,大概每1000年才会有一次。明年你的周岁年龄+你的出生年,每个人都是2022年。例如:你明年57加上1965年生的,加起来就是2022年。特别奇怪,连中外专家都无法解释!你计算一下,看看是不是2022。真是千年等一回呀!真准!转朋友圈,让大伙都算一下吧!”
据说这个“电子包浆”贴每年都会出现。本题就请你根据发贴人提到的周岁年龄和出生年,判断其发贴的时候是哪一年。
时间限制:1000
内存限制:65536
输入
输入在第一行中给出两个正整数,即周岁年龄和出生年,其中年龄在 (0, 200) 区间内,出生年在 (1900, 2022) 区间内。
输出
在一行中输出发贴年份。
样例输入
57 1965
样例输出
2021
提示
样例说明 因为贴子里说“明年全世界所有的人都同岁”,所以发贴是在今年,即 2021 年。

参考答案:

#include<bits/stdc++.h>
using namespace std;
int main()
{
  int a,b;
  cin>>a>>b;
  cout<<a+b-1;
}
3. 最佳情侣身高差

专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)× 1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。
下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。
时间限制:1000
内存限制:65536
输入
输入第一行给出正整数 N(≤ 10),为前来查询的用户数。随后 N 行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。
输出
对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。
样例输入
2
M 1.75
F 1.8
样例输出
1.61
1.96

参考答案:

#include<bits/stdc++.h>
using namespace std;
int main()
{
  int N;
  double sg,sgx;
  char s;
  cin>>N;
  for(int i=1;i<=N;i++)
  {
    cin>>s>>sg;
    if(s=='F')
    {
      sgx=sg*1.09;
    }
    else if(s=='M')
    {
      sgx=sg/1.09;
    }
    printf("%.2f",sgx);
    cout<<endl;
  }
}
4. 到底是不是太胖了

据说一个人的标准体重应该是其身高(单位:厘米)减去 100、再乘以 0.9 所得到的公斤数。真实体重与标准体重误差在 10% 以内都是完美身材(即 | 真实体重 - 标准体重 | < 标准体重 × 10%)。已知市斤的数值是公斤的两倍。现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了。
时间限制:1000
内存限制:65536
输入
输入第一行给出一个正整数 N(≤ 20)。随后 N 行,每行给出两个整数,分别是一个人的身高 H(120 < H < 200;单位:厘米)和真实体重 W(50 < W ≤ 300;单位:市斤),其间以空格分隔。
输出
为每个人输出一行结论:如果是完美身材,输出 You are wan mei!;如果太胖了,输出 You are tai pang le!;否则输出 You are tai shou le!
样例输入
3
169 136
150 81
178 155
样例输出
You are wan mei!
You are tai shou le!
You are tai pang le!

参考答案:

#include<bits/stdc++.h>
using namespace std;
int main()
{
  int N,H,W;
  cin>>N;
  for(int i=1;i<=N;i++){
    cin>>H>>W;
    double b=(H-100)*0.9*2;
    if(abs(W-b)<b*0.1){
      cout<<"You are wan mei!"<<endl;
    }else{
      if(W>b){
       cout<<"You are tai pang le!"<<endl;
      }else{
        cout<<"You are tai shou le!"<<endl;
      }
    }
  }
}
5. 自动打包机

一条哈密瓜自动打包流水线的工作程序是这样的:首先系统设定每箱哈密瓜应该有的总重量 W;然后传送带将一只只哈密瓜输送到一个自动称重设备上,根据称重结果进行以下操作:

  • 如果称上的总重量正好达到 W,则将称上的所有哈密瓜装箱送走;
  • 如果称上的总重量还不到 W,则将这只哈密瓜留在称上;
  • 如果称上的总重量超过了 W,则将这只哈密瓜放回传送带。
    本题就请你写个程序统计一下,究竟有多少只哈密瓜被装了多少箱?
    时间限制:1000
    内存限制:65536
    输入
    输入第一行给出两个正整数 N(≤ 1000)和 W(≤ 10000),分别为传送带上哈密瓜的数量和每箱的规定重量(克)。随后一行给出 N 个正整数,是传送带上每只哈密瓜的重量,单果重量不超过 2000 克。假设传送带按照输入的顺序传送哈密瓜到称重设备。
    输出
    在一行中输出成功装箱的箱子数量和被装箱的哈密瓜的数量。数字间以 1 个空格分隔,行首尾不得有多余空格。
    样例输入
    12 5000
    2000 1500 1800 1000 1800 500 1900 1500 2000 1600 2000 2000
    样例输出
    2 7
    提示
    样例说明: 第 1、2、4、6 只瓜正好一箱;第 7、8、10 只瓜正好一箱。

参考答案:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,w;
	cin>>n>>w;
	int a[100000];
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	int r[100000]={0};
	int k=0;
	int sum=0;
	for(int i=0;i<n;i++){
		sum=sum+a[i];
		if(sum==w){
			sum=0;
			r[k]++;
			k++;
		}else if(sum<w){
			r[k]++;
		}else
			sum=sum-a[i];
	}
	int x=0;
	for(int i=0;i<k;i++){
		x+=r[i];
	}
	cout<<k<<' '<<x;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伶俐角少儿编程

伶俐角少儿编程公众号~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值