当前位置: 首页 > article >正文

C++二级2021年9月试卷及答案

1.满足条件的数累加

将正整数m和n之间(包括m和n)能被17整除的数累加,其中,0<m<n<1000。
输入: 
一行,包含两个整数m和n,其间,以一个空格间隔。
输出: 
输出一行,包含一个整数,表示累加的结果。
输入样例: 
50 85
输出样例: 
204

int main()
{
    int m,n,sum=0;
    int i;
 
    cin>>m>>n;//输入m、n
    for(i=m; i<=n; i++) //在区间内循环
        if(i%17==0)//满足条件
            sum+=i;//累加
 
    cout<<sum<<endl;
    return 0;
}

2.统计字符数

给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。
输入
输入包含一行,一个字符串,长度不超过1000.
输出
输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。
如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。
输入样例
abbccc
输出样例
c3

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main() {
	int cnt[26];
	int max=0;
	int len;
	char str[1010];//字符串
	char ch;
	memset(str,0,sizeof(str));//清零
	memset(cnt,0,sizeof(cnt));//清零
	gets(str);//获取字符串 
	len=strlen(str);//获取长度 
	for(int i=0; i<len; i++) {//计数 
		cnt[str[i]-'a']++;//把计数器此字符的ASCII码-a的ASCII的那一项加一 
	}
	for(int i=0; i<26; i++) {//找最大值 
		if(cnt[i]>max) {//用大于号做判断不用考虑输出ASCII小的那个,用大于等于就需要考虑 
			ch=(char)i+'a';//i+a的ASCII转成字符保存 
			max=cnt[i]; 
		}
	}
	cout<<ch<<" "<<max; //输出出现次数最多的字符和该字符出现的次数
	return 0;
}

3.替换单词

输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格
隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。
时间限制:1000
内存限制:65536
输入
输入包括3行,第1行是包含多个单词的字符串s;第2行是待替换的单词a(长度<= 100);第3行是a将被替
换的单词b(长度<= 100).s, a,b 最前面和最后面都没有空格,
输出
输出只有1行,将s中所有单词a替换成b之后的字符串.
样例输入
You want someone to help you
You

样例输出
I want someone to help you

#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
    int flag = 0;
    string s,a,b;
    vector<string>words;  //用来保存各个单词
    vector<string>switch;  //用来保存各个单词
    getline(cin,s);  //为了接受一行带空格的字符串
    cin>>a>>b;
    //将s中的单词提取到words
    for(int i=0,j=0;i<s.size();++i){
        if(s[i]!=' ')               
            words[j] += s[i];
        else{
            ++j;
        }
 }
    for(int i=0;i<words.size();++i)
    {  //找到第一个要替换的单词并替换
        if((0 == strcmp(words[i],a)) &&(0 == flag))
        {
            switch.push(b);
            flag++
        }//将单词放到switch
        else
        {
            switch.push(words[i]);
        }
    }
    for(int i=0;i<switch.size();++i)
        {  //输出
        cout<<switch[i]<<" ";
    }
    return 0;
}

4.偶数降序输出

给定一个长度为N(不大于500)的正整数序列,请将其中的所有偶数取出,并按降序输出。
输入
共2行:
第1行为N;
第2行为N个整数,其间用空格间隔。
输出
降序输出的偶数序列,数之间以空格间隔。数据保证至少有一个偶数。
样例输入
10
1 3 2 6 5 4 9 8 7 10
样例输出
10 8 6 4 2

#include<bits/stdc++.h>
using namespace std;
const int N = 100;
int a[N];
bool cmp(int num1,int num2){
	return num1 >= num2;
}
main(){
	int n,t;
	int j=0; 
	
	cin>>n;
	for(int i = 0;i<n;i++){
		cin>>a[i];
	}
	
	for(int i=0;i<n;i++){
		if(a[i] % 2 == 0){
			t = a[i];
			a[j++] = t;
		}
	}
	sort(a,a+j,cmp);
	for(int i=0;i<j;i++){
		cout<<a[i]<<" ";
	}
	cout<<endl;
}

5.图像处理

给定n行m列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理:
1.四周最外侧的像素点灰度值不变;
2.中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。
时间限制:1000
内存限制:65536
输入
第一行包含两个整数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

#include<bits/stdc++.h>
using namespace std;
int a[1001][1001],n,m,i,j;
double b[1001][1001];
int main() {
	cin>>n>>m;
	for(i=1; i<=n; i++) {
		for(j=1; j<=m; j++) {
			cin>>a[i][j];
			b[i][j]=a[i][j];
		}
	}
	for(i=2; i<n; i++) {
		for(j=2; j<m; j++)
			b[i][j]=round(a[i-1][j]+a[i][j-1]+a[i+1][j]+a[i][j+1]+a[i][j])/5.0;
	}
	for(i=1; i<=n; i++) {
		for(j=1; j<=m; j++)
			printf("%.0lf ",b[i][j]);
		printf("\n");
	}
	return 0;
}


http://www.kler.cn/news/366420.html

相关文章:

  • 《云原生安全攻防》-- K8s攻击案例:权限维持的攻击手法
  • 边缘计算路由网关R40钡铼技术3LAN口1WAN口Modbus协议
  • 开源vGPU方案 HAMi实现细粒度GPU切分——筑梦之路
  • 基于SpringBoot的“高校校园点餐系统”的设计与实现(源码+数据库+文档+PPT)
  • 基于HEC-Ras及ArcGIS的泥石流数值模拟与灾害风险评估典型案例
  • [Linux网络编程]04-多进程/多线程并发服务器思路分析及实现(进程,信号,socket,线程...)
  • Python——脚本实现datax全量同步mysql到hive
  • (北京政务服务满意度公司)满意度调查助力服务质量提升
  • 【Java】类来管理个人简历信息
  • UWB物资定位标签
  • C2W4.LAB.Word_Embedding.Part1
  • 智能听诊器:宠物医疗行业的新动力
  • ubuntu修改默认开机模式(图形/终端)
  • lucene数据写入-02倒排数据缓存组织
  • 【c++ arx 选项板2】
  • Python Pandas 数据分析的得力工具:简介
  • 中小企业设备资源优化:Spring Boot系统实现
  • Kafka-代码示例
  • 408算法题leetcode--第40天
  • MemoRAG:重新定义长期记忆的AI问答模型
  • 如何测手机到路由器的内网带宽【使用iperf3】
  • 【Android常见开发模式】
  • 尚硅谷-react教程-求和案例-数据共享(下篇)-完成数据共享-笔记
  • 神经种群动态优化算法(NPDOA)-2024年9年SCI一区新算法-公式原理详解 Matlab代码免费获取
  • LeetCode 热题100之哈希
  • Android Activity 自定义方法 不混淆,可以使用@Keep注解