青少年软件编程(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
相关推荐
会周易的程序员5 分钟前
给 PLC 写一个字节码虚拟机:STVM 虚拟机架构设计
开发语言·c++·虚拟机·软plc·iec61131·stvm
小灰灰搞电子17 分钟前
完全驾驭 Qt 与数据库:C++ ORM 框架 QxOrm 原理与实践指南
数据库·c++·qt
QT界面美化性能优化25 分钟前
QT+AI:使用AI技术为QT应用程序赋能
c++·人工智能·qt·opencv·qt教程·qt6.3
是隼人1 小时前
buuctf-pwn xdctf2015_pwn200题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
学习星球3 小时前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
小灰灰搞电子3 小时前
C++ 引用折叠详解
c++
布莱克6054 小时前
数组详解:定义、作用、应用场景及与链表的区别(C/C++ 代码讲解)
c语言·开发语言·c++·数组
hongmai6668884 小时前
MP2348GTL-Z:这颗24V/4A同步降压芯片,把性能和体积平衡得恰到好处
c语言·开发语言·arm开发·单片机·5g
多弗朗皮卡丘4 小时前
C语言梦开始的地方19:文件操作
c语言·开发语言
牛油果子哥q5 小时前
C++内存池与对象池精讲:内存碎片、自定义分配器、对象池实现、STL allocator原理、工程落地与性能对比
java·开发语言·c++