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
using namespace std;
int main(){
int a,b;cin>>a>>b;
int s[a];
for(int i=0;i cin>>s[i];
}
for(int i=0;i for(int j=0;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

更多内容请查看网站:

网站链接 

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

你可能感兴趣的:(青少年软件编程(C,语言),等级考试试卷,c语言,电子学会,青少年编程,c++)