2022C语言二级真题

目录

数组逆序重放

题目描述

样例

最长最短单词

题目描述

样例

统计误差范围内的数

题目描述

样例

有趣的跳跃

题目描述

样例

数字放大

题目描述

样例

内部元素之和

题目描述

样例

满足条件的数的累加

题目描述

样例

偶数降序输出

题目描述

样例

字符统计

题目描述

样例

统计指定范围里的数

题目描述

样例

按照个位数排序

题目描述

样例

计算矩阵边缘元素之和

题目描述

样例

最长最短单词

题目描述

样例


数组逆序重放

题目描述

将一个数组中的值按逆序重新存放。例如,原来的顺序为8 6 5 4 1,要求改为1 4 5 6 8。

输入格式

输入为两行:第一行数组中元素的个数n,第二行是n个整数,每两个整数之间用空格分隔。

输出格式

输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。

样例

输入样例

5

8 9 5 4 1

输出样例

1 4 5 9 8

#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
	int a[110];
	int n;
	cin>>n;
	for(int i = 0;i<n;i++)
	{
		cin>>a[i];
	}
	for(int i = n-1;i>=0;i--)
	{
		cout<<a[i]<<" ";
	}
	return 0;
}

最长最短单词

题目描述

输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。

试输出第1个最长的单词和第1个最短单词。

输入格式

一行句子。

输出格式

第1行,第一个最长的单词。

第2行,第一个最短的单词。

样例

样例输入

I am studying Programming language C in Peking University

样例输出

Programming

I

#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
	char a[20000];
	char wlong[200];
	char wshort[200],word[200];
	int numlong=0,numshort=100;
	int i,n,l,k,cl;
	l=0;
	k=0;
	cin.getline(a,20000);
	n=strlen(a);
	for(i=0;i<=n;i++)
	{
		if(a[i]!=' '&&a[i]!=','&&a[i]!=0)
		{
			l++;
			word[k]=a[i];
			k++;
		}
		if(a[i]==' '||a[i]==','||a[i]==0)
		{
			if(l>numlong)
			{
				numlong=l;
				strcpy(wlong,word);
			}
			if(l>0&&l<numshort)
			{
				numshort=l;
				strcpy(wshort,word);
			}
			l=0;
			k=0;
			for(cl=0;cl<=200;cl++)
				word[cl]='\0';
		}
		
	}
	cout<<wlong<<endl;
	cout<<wshort;
	return 0;
}

统计误差范围内的数

题目描述

统计一个整数序列中与指定数字m误差范围小于等于X的数的个数。

输入格式

输入包含三行:第一行为N,表示整数序列的长度(N<=100);第二行为N个整数,整数之间以一个空格分开;第三行包含2个整数,为指定的整数m,误差范围X。

输出格式

输出输出为N个数中与指定数字m误差范围小于等于X的数的个数。

样例

样例输入

5

1 2 3 4 5

3 1

样例输出

3

样例解释

提示样例中2,3,4都满足条件,故答案为3

#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int a[110];
	for(int i = 0;i<n;i++)
	{
		cin>>a[i];
	}
	int m,x;
	cin>>m>>x;
	int sum = 0;
	for(int i = 0;i<n;i++)
	{
		if(a[i] < m+x)
		{
			sum++;
		}
	}
	cout<<sum;
	return 0;
}

有趣的跳跃

题目描述

在一个长度为n的数字序列中,如果相邻元素差的绝对值经过升序排序后正好是1~n-1,则认定该序列存在“有趣的跳跃”。

例如:数字序列1、4、2、3 的相邻数字差的绝对值分别为3、2、1,排序后是1、2、3,说明该序列存在着“有趣的跳跃”。

现在给你一个序列,请你判断该序列是否存在“有趣的跳跃”。

输入格式

第1 行为一个整数(不超过100000)。

接下来一行为个不超过100000 的整数。

输出格式

若存在,输出“yes”,否则输出“no”。

样例

样例输入:

4

1 4 2 3

样例输出:

yes

#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int a[110];
	for(int i = 0;i<n;i++)
	{
		cin>>a[i];
	}
	int sum = 0;
	for(int i = 0;i<n;i++)
	{
		if(a[i] >=1 || a[i] <= n-1)
		{
			sum++;
		}
	}
	if(sum>0)
	{
		cout<<"yes";
	}
	else
	{
		cout<<"no";
	}
	return 0;
}

数字放大

题目描述

给定一个整数序列以及放大倍数x,将序列中每个整数放大x倍后输出。

输入格式

包含三行:

第一行为N,表示整数序列的长度(N ≤ 100);

第二行为N个整数(不超过整型范围),整数之间以一个空格分开;

第三行包含一个整数(不超过整型范围),为指定的整数x。

输出格式

N个整数,为原序列放大之后的序列,整数之间以一个空格分开。

样例

样例输入

3

1 5 7

2

样例输出

2 10 14

#include <iostream>
#include<string.h>
using namespace std;
int main()
{
    int a[110];
    int n;
    cin>>n;
    for(int i = 0;i<n;i++)
    {
        cin>>a[i];
    }
    int x;
    cin>>x;
    for(int i = 0;i<n;i++)
    {
        cout<<a[i]*x<<" ";
    }
    return 0;
}


内部元素之和

题目描述

输入一个整数矩阵,计算位于矩阵内部的元素之和。所谓矩阵内部的元素,不在第一行和最后一行的元素以及第一列和最后一列的元素。

输入格式

第一行分别为矩阵的行数m和列数n(m < 100,n < 100),两者之间以一个空格分开。接下来输入的m行数据中,每行包含n个整数(每个数大于等于0,小于1000),整数之间以一个空格分开。

输出格式

输出对应矩阵的内部元素和

样例

样例输入

3 3

3 4 1

3 7 1

2 0 1

样例输出

7

#include <iostream>
#include<string.h>
using namespace std;
int main()
{
    int a[110];
    int n;
    cin>>n;
    for(int i = 0;i<n;i++)
    {
        cin>>a[i];
    }
    int x;
    cin>>x;
    for(int i = 0;i<n;i++)
    {
        cout<<a[i]*x<<" ";
    }
    return 0;
}

满足条件的数的累加

题目描述

现有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

#include <iostream>
#include<string.h>
using namespace std;
int main()
{
    int a[110];
    int n,k;
    cin>>n>>k;
    for(int i = 0;i<n;i++)
    {
        cin>>a[i];
    }
    int sum = 0;
    for(int i = 0;i<n;i++)
    {
        if(a[i]%10 == k)
        {
            sum = sum + a[i];
        }
    }
    cout<<sum;
    return 0;
}


偶数降序输出

题目描述

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

输入格式

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

输出格式

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

样例

样例输入

10

1 3 2 6 5 4 9 8 7 10

样例输出

10 8 6 4 2

#include <iostream>
#include<string.h>
using namespace std;
int main()
{
    int a[110];
    int b[110];
    int n;
    cin>>n;
    for(int i = 0;i<n;i++)
    {
        cin>>a[i];
    }
    int s = 0;
    for(int i = 0;i<n;i++)
    {
        if(a[i]%2 == 0)
        {
            b[s] = a[i];
            s++;
        }
    }
    for(int i = 0;i<=s;i++)
    {
        if(b[i]<b[i+1])
        {
            int f = b[i];
            b[i] = b[i+1];
            b[i+1] = f;
        }
    }
    for(int i = 0;i<=s;i++)
    {
        cout<<b[i]<<" ";
    }
    return 0;
}


字符统计

题目描述

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

输入格式

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

输出格式

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

样例

样例输入

abbccc

样例输出

c 3

#include <iostream>
#include<string.h>
using namespace std;
int main()
{
    int a[110];
    int b[110];
    int n;
    cin>>n;
    for(int i = 0;i<n;i++)
    {
        cin>>a[i];
    }
    int s = 0;
    for(int i = 0;i<n;i++)
    {
        if(a[i]%2 == 0)
        {
            b[s] = a[i];
            s++;
        }
    }
    for(int i = 0;i<=s;i++)
    {
        if(b[i]<b[i+1])
        {
            int f = b[i];
            b[i] = b[i+1];
            b[i+1] = f;
        }
    }
    for(int i = 0;i<=s;i++)
    {
        cout<<b[i]<<" ";
    }
    return 0;
}

统计指定范围里的数

题目描述

给定一个数的序列S,以及一个区间[L, R], 求序列中介于该区间的数的个数,即序列中大于等于L且小于等于R的数的个数。

输入格式

第一行1个整数n、分别表示序列的长度。

第二行n个正整数,表示序列里的每一个数,每个数小于等于10000000。

第三行2个整数L、R,分别表示区间的左端点,区间的右端点。

输出格式

输出一个整数,表示序列中大于等于L且小于等于R的数的个数。

样例

样例输入

5

11 8 1 10 16

1 10

样例输出

3

#include <iostream>
#include<string.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int a[110];
    for(int i = 0;i<n;i++)
    {
        cin>>a[i];
    }
    int l,r;
    cin>>l>>r;
    int sum = 0;
    for(int i = 0;i<n;i++)
    {
        if(a[i]>=l && a[i]<=r)
        {
            sum++;
        }
    }
    cout<<sum;
    return 0;
}


按照个位数排序

题目描述

对于给定的正整数序列,按照个位数从小到大排序,个位数相同的按照本身大小从小到大排序。

输入格式

第一行1个整数n,表示序列的大小。( 0 < n ≤ 1000) 第二行n个正整数,表示序列的每个数,每个数不大于100000000。

输出格式

输出按照题目要求排序后的序列

样例

样例输入

6

17 23 9 13 88 10

样例输出

10 13 23 17 88 9

#include <iostream>
#include<string.h>
using namespace std;
int main()
{
    int a[110];
    int n,j,temp;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        
        j=i-1;
        temp=a[i];
        while(j>=0 && (temp%10<a[j]%10||(temp%10==a[j]%10&&temp<a[j])))
        {
            a[j+1]=a[j];
            j--;
        }
        a[j+1]=temp;
    }
    for(int i=0;i<n;i++)
    {
        cout<<a[i]<<" ";
    }
    
    return 0;
}


计算矩阵边缘元素之和

题目描述

输入一个整数矩阵,计算位于矩阵边缘的元素之和。

所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。

输入格式

第一行分别为矩阵的行数n和列数m,两者之间以一个空格分开。

接下来输入的n行数据中,每行包含m个整数,整数之间以一个空格分开。

输出格式

输出对应矩阵的边缘元素和。

样例

样例输入

3 3

3 4 1

3 7 1

2 0 1

样例输出

15

#include <iostream>
#include<string.h>
using namespace std;
int main()
{
    int a[110][110];
    int n,m;
    for(int i = 0;i<n;i++)
    {
        for(int j = 0;j<m;j++)
        {
            cin>>a[i][j];
        }
    }
    int sum = 0;
    for(int i = 0;i<n;i++)
    {
        for(int j = 0;j<m;j++)
        {
            if( i == 1 || i == m || j == 1 || j == n )
            {
                sum = sum + a[i][j];
            }
        }
    }
    cout<<sum;
    return 0;
}


最长最短单词

题目描述

输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。

试输出第1个最长的单词和第1个最短单词。

输入格式

一行句子。

输出格式

第1行,第一个最长的单词。

第2行,第一个最短的单词。

样例

样例输入

I am studying Programming language C in Peking University

样例输出

Programming

I

#include <iostream>
#include<string.h>
using namespace std;
int main()
{
        char str[30000],c;
        int sum = 0;
        int max = -1;
        int max1;
        int min = 1000;
        int min1;
        int i,j,k;
        i=0;
        while((c=getchar())!=EOF)
        {
            str[i++]=c;
        }
        str[i]='\0'; 
        for(j=0;j<i;j++)
        {
            if(str[j]==' '||str[j]==','||str[j]=='.')
            {
                if(sum>max)
                {
                    max=sum;
                    max1=j;
                }
                if(sum<min&&sum>0)
                {
                    min=sum;
                    min1=j;
                }
                sum=0;
            }
            else
            {
                sum++;
            }
        }
        for(k=max1-max;k<max1;k++)
        {
            printf("%c",str[k]);
        }
        printf("\n");
        for(k=min1-min;k<min1;k++)
        {
            printf("%c",str[k]);
        }
        printf("\n");
        return 0;
    } 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/712498.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

原码、反码和补码

原码 原码是数字的二进制表示方式&#xff0c;由符号位和绝对值&#xff08;数值位&#xff09;构成。原码的第一位代表符号位&#xff08;0 代表正数&#xff0c;1 代表负数&#xff09;&#xff1b;第二位开始就是数字的绝对值。 反码 反码的表示方法区分正负数。 正数时…

foxmai邮箱使用技巧图文板简单容易,服务器配置密钥配置

本人详解 作者&#xff1a;王文峰&#xff0c;参加过 CSDN 2020年度博客之星&#xff0c;《Java王大师王天师》 公众号&#xff1a;JAVA开发王大师&#xff0c;专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生&#xff0c;期待你的关注和支持&#xf…

【有用】docker在windows下使用详情

在Windows下安装和使用Docker可以按照以下步骤进行&#xff1a; 安装 Docker Desktop 系统要求 • Windows 10 64-bit: Pro, Enterprise, or Education (1607 Anniversary Update, Build 14393 or later) • Windows 11 64-bit: Pro, Enterprise, or Education • Windows 10 …

Eclipse 单步调试的时候报错,通过一些设置处理下。

先帖张图&#xff1a; 勾选不提醒。 1、通过Java Compiler&#xff0c;进行设置: 然后设置以后&#xff0c;进入调试&#xff0c;还是 报上面的错&#xff0c;有的小伙伴说是先去勾选&#xff0c;然后确认。 然后再选择&#xff0c;确认。 2、设置Jdk为自己安装的。 设置成功后…

C++11默认成员函数控制

默认成员函数有 如果自己不显示声明&#xff0c;那么默认编译器会自己生成一个 如果有一个构造函数被声明了&#xff0c;那其他的默认函数编译器就不会再生成 这样的有时又不生成&#xff0c;容易造成混乱&#xff0c;于是C11让程序员可以控制是否需要编译器生成。 显式缺省函…

47.PyCharm P版突然无法启动

目录 1.启动cmd.exe&#xff0c;进到pycharm\bin目录&#xff0c;启动.\pycharm.bat&#xff0c;如果正常&#xff0c;就像下面这个样子&#xff0c;如果不正常&#xff0c;则会报错&#xff0c; 2.用记事本打开pycharm.bat文件&#xff0c;加上以下代码后 今晨&#xff0c;无…

小阿轩yx-Apache 网页优化

小阿轩yx-Apache 网页优化 网页压缩与缓存 对Apache服务器优化配置 能让 Apache 发挥出更好的性能 相反&#xff0c;配置糟糕 Apache可能无法正常服务 网页压缩 网站的访问速度是由多个因素所共同决定的 包括应用程序 响应速度网络带宽服务器性能与客户端之间的网络传…

音视频集式流媒体边缘分布式集群拉流管理

一直以来&#xff0c;由于srs zlm等开源软件采用传统直播协议&#xff0c;即使后面实现了webrtc转发&#xff0c;由于信令交互较弱&#xff0c;使得传统的安防监控方案需要在公网云平台上部署大型流媒体服务器&#xff0c;而且节点资源不能统一管理调度&#xff0c;缺乏灵活性和…

MOS开关电路应用于降低静态功耗

本文主要讲述MOS开关电路的应用,过了好久突然想整理一下&#xff0c;有错误的地方请多多指出&#xff0c;在做电池类产品&#xff0c;需要控制产品的静态功耗&#xff0c;即使让芯片进入休眠状态&#xff0c;依旧功率很大&#xff0c;所以在电路中加一组软开关&#xff0c;防止…

连锁门店收银系统源码!

1.系统概况 智慧新零售系统是一套针对零售行业的saas收银系统&#xff0c;线下线上一体化的收银系统。核心功能涵盖了线下收银、小程序商城、会员管理、50营销插件、ERP进销存管理、跑腿配送等行业解决方案。 2.适用行业及门店 智慧新零售是针对零售行业的saas收银系统&#…

【Pandas】已完美解决:AttributeError: ‘DataFrame‘ object has no attribute ‘ix‘

文章目录 一、问题背景二、可能出错的原因三、错误代码示例四、正确代码示例&#xff08;结合实战场景&#xff09;五、注意事项 一、问题背景 在Pandas的早期版本中&#xff0c;ix 是一个方便的索引器&#xff0c;允许用户通过标签和整数位置来索引DataFrame的行和列。然而&a…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 特惠寿司(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📎在线评测链接 特惠寿司(100分) 🌍 评测功能需要订阅专栏后私信联系清隆解…

苹果:创新引领下的科技传奇

自1976年创立以来&#xff0c;苹果公司&#xff08;Apple Inc.&#xff09;以其卓越的创新能力和独特的市场策略&#xff0c;从一家初创企业崛起为全球科技产业的领军者。本文将深入探讨苹果的发展历程&#xff0c;剖析其成功的关键因素&#xff0c;并展望其未来的发展前景。 初…

03-appium环境配置和启动参数设置

参考文章&#xff1a;https://blog.csdn.net/lovedingd/article/details/110949993 一、appium介绍 Appium是一个开源、跨平台的自动化测试框架&#xff0c;支持Android、IOS等平台&#xff0c;同时也支持多语言&#xff0c;比如&#xff1a;Java、Python等。 Appiumu通过扩展…

【强化学习】gymnasium自定义环境并封装学习笔记

【强化学习】gymnasium自定义环境并封装学习笔记 gym与gymnasium简介gymgymnasium gymnasium的基本使用方法使用gymnasium封装自定义环境官方示例及代码编写环境文件__init__()方法reset()方法step()方法render()方法close()方法 注册环境创建包 Package&#xff08;最后一步&a…

利用智能交流控制设计方法实现更好的家电安全

从机电到数字控制的转变首先是通过现成的电子设备完成的——系统架构是围绕 MCU、分立晶体管和高压双向可控硅构建的。 家用电器的这场小型革命部分是由于减少能源和水的浪费以及提高易用性的需求日益增长而推动的。 随着市场及其标准的化&#xff0c;性能和成本效率一直是家…

【docker hub镜像源失效】2024年6月6日 docker 国内镜像源失效

文章目录 概述中科大镜像源阿里镜像源其他镜像源可用的镜像源写在最后 之前违反社区规定了&#xff0c;做了和谐 概述 大家都知道使用docker hub官方镜像需要魔法&#xff0c;虽然大部人有魔法&#xff0c;但是网速也是很慢&#xff0c;还有部分同学没有&#xff0c;全靠国内各…

每日5题Day25 - LeetCode 121 - 125

每一步向前都是向自己的梦想更近一步&#xff0c;坚持不懈&#xff0c;勇往直前&#xff01; 第一题&#xff1a;121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09; class Solution {public int maxProfit(int[] prices) {if(prices.length 1){return 0;}//dp…

深入理解计算机系统 CSAPP 家庭作业6.37

S256 N64时: sumA:这个很简单了,不说了 sumB:如下表. i递增时一直不命中 读到j1,i0 即读a[0][1]时 组0存放的是a[48][0] -a[48][3] 接着读a[1][1]时,组16放的是a[49][0]-a[49][3],j递增之后还是一直不命中 组0:a[0][0]a[16][0]a[32][0]a[48][0]a[0][1]组16:a[1][0]a[17][…

Unity2D计算两个物体的距离

1.首先新建一个场景并添加2个物体 2.创建一个脚本并编写代码 using UnityEngine;public class text2: MonoBehaviour {public GameObject gameObject1; // 第一个物体public GameObject gameObject2; // 第二个物体void Update(){// 计算两个物体之间的距离float distance Vec…