青少年软件编程(C语言)等级二级考试试题(2021年9月)

#6108. 满足条件的数的累加

题目描述

现有n个整数,将其中个位数为k的数进行累加求和。

输入格式

第一行两个整数n、k,以空格分隔。( 0 < n < 1000, 0 ≤ k ≤ 9) 第二行n个非负整数,以空格分隔,每个数不大于100000。

输出格式

输出满足题目要求的累加和。

样例

样例输入

复制代码
复制
复制代码
10 7
2 5 7 17 11 18 4 27 1 7

样例输出

复制代码
复制
复制代码
58
cpp 复制代码
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
	int n,k,a1,sum;
	int a;
	cin>>n>>k;
	sum = 0;
	for(int i = 0;i<n;i++)
	{
		cin>>a;
		a1 = a/1%10;
		if(a1==k)
		{
			sum = sum+a;
		}
	}
	cout<<sum;
	return 0;
}

#4157. 偶数降序输出

题目描述

给定一个长度为N(不大于500)的正整数序列,请将其中的所有偶数取出,并按降序输出。

输入格式

共2行: 第1行为 N; 第2行为 N 个正整数,其间用空格间隔。

输出格式

降序输出的偶数序列,数之间以空格间隔。数据保证至少有一个偶数。

样例

样例输入

复制代码
复制
复制代码
10
1 3 2 6 5 4 9 8 7 10

样例输出

复制代码
复制
复制代码
10 8 6 4 2
cpp 复制代码
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
	int a[100];
	int c[100];
	int m;
	cin>>m;
	int j = 0;
	for(int i=0;i<m;i++)
	{
		cin>>a[i];
		if(a[i]%2==0)
		{
			c[j]=a[i];
			j++;
		}
	}
	for(int i=1;i<j;i++)
	{
		for(int n=0;n<j-i;n++)
		{
			if(c[n]<c[n+1])
			{
				swap(c[n],c[n+1]);
			}
		}
	}
	for(int i=0;i<j;i++)
	{
		cout<<c[i]<<" ";
	}
	return 0;
}

#1048. 图像模糊处理

题目描述

给定 n 行 m 列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理:

1.四周最外侧的像素点灰度值不变;

2.中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。

输入格式

第一行包含两个整数 n 和 m,表示图像包含像素点的行数和列数。1≤n≤100,1≤m≤100。

接下来n行,每行 m 个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之间。

输出格式

n 行,每行 m 个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。

样例

输入样例

复制代码
复制
复制代码
4 5
100 0 100 0 50
50 100 200 0 0
50 50 100 100 200
100 100 50 50 100

输出样例

复制代码
复制
复制代码
100 0 100 0 50
50 80 100 60 0
50 80 100 90 200
100 100 50 50 100
cpp 复制代码
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
	int n,m;
	cin>>n>>m;
    int a[100][100];
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<m;j++)
		{
			cin>>a[i][j];
		}
	}
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<m;j++)
		{
			if(i == 0||i==n-1||j==0||j==m-1)
			{
				cout<<a[i][j]<< " ";
			}
			else
			{
				cout<<int((((a[i][j] + a[i + 1][j] + a[i - 1][j] + a[i][j + 1] + a[i][j - 1])) / 5) + 0.5)<<" ";
			}
			
		}
		cout << endl;
	}
	return 0;
}

#4158. 字符统计

题目描述

给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。

输入格式

输入包含一行,一个字符串,长度不超过1000。

输出格式

输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。

样例

样例输入

复制代码
复制
复制代码
abbccc

样例输出

复制代码
复制
复制代码
c 3
相关推荐
杨福瑞25 分钟前
数据结构:顺序表讲解(总)
c语言·数据结构
m0_7482336428 分钟前
【C++list】底层结构、迭代器核心原理与常用接口实现全解析
c++·windows·list
qq_3106585133 分钟前
webrtc代码走读(八)-QOS-FEC-flexfec rfc8627
网络·c++·webrtc
惊讶的猫1 小时前
c++基础
开发语言·c++
Code_Shark6 小时前
AtCoder Beginner Contest 426 题解
数据结构·c++·算法·数学建模·青少年编程
仰泳的熊猫6 小时前
LeetCode:698. 划分为k个相等的子集
数据结构·c++·算法·leetcode
xlq223226 小时前
7(内存管理)(上)(了解)
c++
Jane-6667776 小时前
C语言——栈与队列
c语言·开发语言
richxu202510018 小时前
C语言<<超全.超重要>>知识点总结
c语言·开发语言
WBluuue8 小时前
数据结构与算法:摩尔投票算法
c++·算法·leetcode