中国电子学会(CEIT)考评中心历届真题(含解析答案)
C语言软件编程等级考试二级 2023年05月
编程题五道 总分:100分
一、数字放大(20分)
给定一个整数序列以及放大倍数x,将序列中每个整数放大x倍后输出。
时间限制: 1000
内存限制: 65536
输入
包含三行:第一行为N,表示整数序列的长度(N< 100);
第二行为N个整数(不超过整型范围),整数之间以一个空格分开;第三行包含一个整数(不超过整型范围),为指定的整数x。
输出
N个整数,为原序列放大之后的序列,整数之间以一个空格分开。
样例输入
3
1 5 7
2
样例输出
2 10 14
提示:注意答案的数据范围
#include <stdio.h>
int main() {
int n,x;
int a[101];
scanf("%d",&n);
//输入n个数保存到数组中
for(int i=0; i<n; i++){
scanf("%d",&a[i]);
}
//输入放大倍数x
scanf("%d" ,&x);
//打印放大后的数
for(int i=0; i<n; i++){
printf("%d ",a[i]*x);
}
return 0;
}
二、单词倒排(20分)
编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。
时间限制: 10000
内存限制: 65536
输入
输入为一个字符串(字符串长度至多为100) 。
输出
输出为按要求排序后的字符串。
样例输入
I am a student
样例输出
student a am I
#include <stdio.h>
#include <string.h>
int main() {
char s[101];
char a[100][101];//二维数组保存每个单词
int c=0,j=0;//变量c表示单词数,变量j表示每个单词的下标
gets(s);//输入字符串
for(int i=0; i<=strlen(s); i++){
//包括字符串结束符
if(s[i]==' '|| s[i]=='\0'){
a[c][j++]='\0';//增加字符串结束符
j=0;//单词下标重新计数
c++;//单词数加一
}
else {
a[c][j++]