2020年06月C语言二级真题
计算矩阵边缘元素之和
题目描述
输入一个整数矩阵,计算位于矩阵边缘的元素之和。
所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
输入格式
第一行分别为矩阵的行数n和列数m,两者之间以一个空格分开。
接下来输入的n行数据中,每行包含m个整数,整数之间以一个空格分开。
输出格式
输出对应矩阵的边缘元素和。
样例
样例输入
3 3
3 4 1
3 7 1
2 0 1
样例输出
15
#include
#include
using namespace std;
int main()
{
int a[110][110];
int n,m;
for(int i = 0;i<n;i++)
{
for(int j = 0;j>a[i][j];
}
}
int sum = 0;
for(int i = 0;i<n;i++)
{
for(int j = 0;j<m;j++)
{
if( i == 1 || i == m || j == 1 || j == n )
{
sum = sum + a[i][j];
}
}
}
cout<<sum;
return 0;
}
最长最短单词
题目描述
输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。
试输出第1个最长的单词和第1个最短单词。
输入格式
一行句子。
输出格式
第1行,第一个最长的单词。
第2行,第一个最短的单词。
样例
样例输入
I am studying Programming language C in Peking University
样例输出
Programming
I
#include
#include
using namespace std;
int main()
{
char str[30000],c;
int sum = 0;
int max = -1;
int max1;
int min = 1000;
int min1;
int i,j,k;
i=0;
while((c=getchar())!=EOF)
{
str[i++]=c;
}
str[i]='#include
#include
using namespace std;
int main()
{
char str[30000],c;
int sum = 0;
int max = -1;
int max1;
int min = 1000;
int min1;
int i,j,k;
i=0;
while((c=getchar())!=EOF)
{
str[i++]=c;
}
str[i]='\0';
for(j=0;jmax)
{
max=sum;
max1=j;
}
if(sum0)
{
min=sum;
min1=j;
}
sum=0;
}
else
{
sum++;
}
}
for(k=max1-max;k<max1;k++)
{
printf("%c",str[k]);
}
printf("
");
for(k=min1-min;k<min1;k++)
{
printf("%c",str[k]);
}
printf("
");
return 0;
}
';
for(j=0;jmax)
{
max=sum;
max1=j;
}
if(sum0)
{
min=sum;
min1=j;
}
sum=0;
}
else
{
sum++;
}
}
for(k=max1-max;k<max1;k++)
{
printf("%c",str[k]);
}
printf("
");
for(k=min1-min;k<min1;k++)
{
printf("%c",str[k]);
}
printf("
");
return 0;
}