青少年软件编程(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
相关推荐
从零开始的代码生活_2 小时前
C++ 多态详解:虚函数、动态绑定、抽象类与虚表原理
开发语言·c++·后端·学习·算法
大彼方..3 小时前
C++ STL Vector 深度剖析:从内存管理到性能优化
开发语言·c++
炸薯条!3 小时前
从零开始学C++ (内存管理)
java·jvm·c++
cpp_25015 小时前
P6625 [省选联考 2020 B 卷] 卡牌游戏
数据结构·c++·算法·前缀和·贪心·洛谷题解·省选
Bug退散师5 小时前
多路IO复用[select版TCP服务器与poll版TCP服务器]与常用网络编程函数详解
linux·服务器·c语言·网络·驱动开发·tcp/ip
天空'之城6 小时前
C 语言工业级通用组件手写 03:双向链表
c语言·嵌入式开发·双向链表
FREEDOM_X6 小时前
嵌入式——定时器工作原理
linux·c语言·单片机·嵌入式硬件·ubuntu
2401_827501286 小时前
51单片机(四)DS18B20 数字温度传感器
c语言·51单片机
旖-旎8 小时前
《LeetCode 416 分割等和子集》
c++·算法·leetcode·动态规划·背包问题
Mortalbreeze8 小时前
深入理解 Linux 线程机制(四):线程同步——条件变量与信号量
linux·运维·服务器·开发语言·c++