青少年软件编程(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
相关推荐
zh_xuan1 小时前
c++ 单例模式
开发语言·c++·单例模式
apocelipes2 小时前
Linux c 运行时获取动态库所在路径
linux·c语言·linux编程
int型码农3 小时前
数据结构第八章(一) 插入排序
c语言·数据结构·算法·排序算法·希尔排序
利刃大大3 小时前
【在线五子棋对战】二、websocket && 服务器搭建
服务器·c++·websocket·网络协议·项目
喜欢吃燃面3 小时前
C++刷题:日期模拟(1)
c++·学习·算法
SHERlocked933 小时前
CPP 从 0 到 1 完成一个支持 future/promise 的 Windows 异步串口通信库
c++·算法·promise
虚拟之4 小时前
36、stringstream
c++
我很好我还能学5 小时前
【面试篇 9】c++生成可执行文件的四个步骤、悬挂指针、define和const区别、c++定义和声明、将引用作为返回值的好处、类的四个缺省函数
开发语言·c++
学习噢学个屁6 小时前
基于STM32语音识别柔光台灯
c语言·stm32·单片机·嵌入式硬件·语音识别
南岩亦凛汀6 小时前
在Linux下使用wxWidgets进行跨平台GUI开发
c++·跨平台·gui·开源框架·工程实战教程