中国电子学会(CEIT)考评中心历届真题(含解析答案)
C语言软件编程等级考试二级 2021年03月
编程题五道 总分:100分
一、与指定数字相同的数的个数(20分)
输出一个整数序列中与指定数字相同的数的个数
时间限制: 1000
内存限制: 65536
输入
输入包含三行:第一行为N,表示整数序列的长度(N<=100);第二行为N个整数,整数之间以一个空格分开;第三行包含一个整数,为指定的整数m。
输出
输出为N个数中与m相同的数的个数。
样例输入
3
2 3 2
2
样例输出
2
#include <stdio.h>
int main() {
int m,N,num=0;
int data[100];
//输入数据
scanf("%d" ,&N);
for(int i=0; i<N; i++){
scanf("%d",&data[i]);
}
scanf("%d",&m);
//统计与m相同的数的个数
for(int i=0; i<N; i++){
if(data[i]==m)
num++;
}
printf("%d" ,num);
return 0;
}
二、合法C标识符
给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:题目保证这些字符串一定不是C语言的保留字)。
C语言标识符要求:
1、非保留字
2、只包含字母、数字及下划线(“_”)3、不以数字开头
时间限制: 1000
内存限制: 65536
输入
一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。
输出
一行,如果它是C语言的合法标识符,则输出yes,否则输出no。
样例输入
RKPEGX9R;TWyYcp
样例输出
no
#include <stdio.h>
#include <string.h>
int main() {
char s[21];
bool f;
scanf("%s",s);
if(strlen(s)>0){
//数字开头的
if(s[0]>='0'&& s[0]<='9'){
printf("no");
}
else {
f=true;
for(int i=0; i<strlen(s); i++)