中国电子学会(CEIT)考评中心历届真题(含解析答案)
C语言软件编程等级考试二级 2022年09月
编程题五道 总分:100分
一、统计误差范围内的数(20分)
统计一个整数序列中与指定数字m误差范围小于等于X的数的个数。
时间限制: 5000
内存限制: 65536
输入
输入包含三行:
第一行为N,表示整数序列的长度(N<= 100);第二行为N个整数,整数之间以一个空格分开;
第三行包含2个整数,为指定的整数m,误差范围X。
输出
输出为N个数中与指定数字m误差范围小于等于X的数的个数。
样例输入
5
1 2 3 4 5
3 1
样例输出
3
提示
样例中2,3,4都满足条件,故答案为3
#include <stdio.h>
int main() {
int n,m,x;
int a[100];
int s=0;
//输入n
scanf("%d",&n);
//输入n个数
for(int i=0; i<n; i++){
scanf("%d",&a[i]);
}
//输入指定数m和误差x
scanf("%d %d",&m,&x);
for(int i=0; i<n; i++){
//判断数是否在误差范围内
if(a[i]>=m-x && a[i]<=m+x)
s++;
}
printf("%d",s);
return 0;
}
二、全在其中(20分)
你设计了一个新的加密技术,可以用一种聪明的方式在一个字符串的字符间插入随机的字符串从而对信息进行编码。由于专利问题,我们将不会详细讨论如何在原有信息中产生和插入字符串。不过,为了验证你的方法,有必要写一个程序来验证原来的信息是否全在最后的字符串之中。
给定两个字符串s和t,你需要判断s是否是t的“子列”。也就是说,如果你去掉t中的某些字符,剩下字符将连接而成为s。
时间限制: 1000
内存限制: 65536
输入
输入包括多个测试样例。每一个都是由空格分隔的由字母数字ASCII字符组成的两个特定的字符串s和t。s和t的长度不超过10000。
输出
对于每个测试样例,如果s是t的“子列”,则输出“Yes”,否则输出“No"
样例输入
sequence subsequence
person compression
VERDl vivaVittorioEmanueleReDiltalia
caseDoesMatter CaseDoesMatter
样例输出
Yes
No
Yes
No
#include <stdio.h>
#include <string.h>
int main