2023年5月青少年软件编程(C 语言) 等级考试试卷(三级)

青少年软件编程(C 语言) 等级考试试卷(三级)
分数: 100 题数: 5
一、 编程题(共 5 题, 共 100 分)
1. 找和为 K 的两个元素
在一个长度为 n(n < 1 000)的整数序列中, 判断是否存在某两个元素之和为 k。
时间限制: 1 000
内存限制: 65536
输入
第一行输入序列的长度 n 和 k, 用空格分开。 第二行输入序列中的 n 个整数, 用空格分开。
输出
如果存在某两个元素的和为 k, 则输出 yes, 否则输出 no。
样例输入
9 10
1 2 3 4 5 6 7 8 9
样例输出
yes

试题解析:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;cin>>a>>b;
int s[a];
for(int i=0;i<a;i++){
cin>>s[i];
}
for(int i=0;i<a;i++){
for(int j=0;j<a;j++){
if(s[i]+s[j]==b && s[i]!=s[j]){
cout<<"yes";
return 0;
}
}
}
cout<<"no";
return 0;
}


2. 硬币面值组合
使用 1 角、 2 角、 5 角硬币组成 n 角钱。
设 1 角、 2 角、 5 角的硬币各用了 a、 b、 c 个, 列出所有可能的 a, b, c 组合。
输出顺序为: 先按 c 的值从小到大, 若 c 相同则按 b 的值从小到大。
时间限制: 1 000
内存限制: 65536
输入
一个整数 n(1 <= n <= 1 00), 代表需要组成的钱的角数。
输出
输出有若干行, 每行的形式为: i a b c 第 1 列 i 代表当前行数(行数从 001 开始, 固定 3 个字符宽度,
宽度不足 3 的用 0 填充) , 后面 3 列 a, b, c 分别代表 1 角、 2 角、 5 角硬币的个数(每个数字固定 1 2
个字符宽度, 宽度不足的在左边填充空格) 。
样例输入
10
样例输出
001 10 0 0
002 8 1 0
003 6 2 0
004 4 3 0
005 2 4 0
006 0 5 0
007 5 0 1
008 3 1 1
009 1 2 1
010 0 0 2

更多内容请查看网站:

网站链接 

青少年软件编程历年真题模拟题实时更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

No0d1es

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值