中国电子学会(CEIT)考评中心历届真题(含解析答案)
C语言软件编程等级考试二级 2020年06月
编程题五道 总分:100分
一、计算矩阵边缘元素之和(20分)
时间限制: 1000ms
内存限制: 65536kB
描述
输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
输入
第一行分别为矩阵的行数m和列数n (m < 100,n <100),两者之间以一个空格分开。接下来输入的m行数据中,每行包含n个整数,整数之间以一个空格分开。
输出
输出对应矩阵的边缘元素和
样例输入
3 3
3 4 1
3 7 1
2 0 1
样例输出
15
#include <stdio.h>
int main(){
int m,n,d,sum=0;
scanf("%d %d",&m,&n);
//输入矩阵
for(int y=0; y<m; y++){
for(int x=0; x<n; x++){
scanf("%d",&d);
if(x==0 || y==0 || x==n-1 || y==m-1){
sum+=d;
}
}
}
printf("%d",sum);
return 0;
}
二、最长最短单词(20分)
时间限制: 1000ms
内存限制: 65536kB
描述
输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。试输出第1个最长的单词和第1个最短单词。
输入
一行句子。
输出
两行输出:
第1行,第一个最长的单词。
第2行,第一个最短的单词。
样例输入
l am studying Programming language C in Peking University
样例输出
Programming
l
提示
如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。
#include <stdio.h>
#include <string.h>
int main(){
char s[20000]= {
0};
char word[201]={
0};
char word_min[201]= {
0};
char word_max[201]={
0};
int i,wmax,wmin;
char *p;
ge