首页 > 编程语言 >C++四级抽测题目(答案+题目)

C++四级抽测题目(答案+题目)

时间:2024-11-22 12:42:56浏览次数:3  
标签:同学 输出 题目 书架 int C++ 抽测 输入

今天我给大家出一套C++四级考题

限时1小时,大家加油!!!

题目1:改变二维数组

题目描述

输入一个 n 行 m 列的二维数组,把它的奇数和偶数行互换后输出。(如果 n 为奇数,最后的一行无需调换位置)

n , m 为不超过 20 的正整数。数组内的数据为不大于 200 的正整数。

输入格式

共 n+1 行

第一行包括两个数字 n 和 m 。

第二行到第 n+1 行是这个数组里的数据。数据间用空格隔开。

输出格式

输出 n 行的改变后的数组。

样例

输入数据 1

3 2
1 2
5 6
7 8

输出数据 1

5 6
1 2
7 8

 

 题目2:书架

题目描述

为了方便同学们查阅资料,程序设计兴趣小组的辅导老师打算将积攒了很多年的 n 本书放到上课教室的书架上去。

教室的书架是一层一层叠起来的,每一层最多可以放 m 本书。每一层的高度由放在这层中最高的那本书决定的,如果不放书,则认为这层的高度为 0 。为了使每个同学能方便地拿到想要的书,书架的总高度应尽可能低。请编程计算将这 n 本书放在书架上后书架的最小总高度,计算的过程中不考虑书的厚度与书架本身材料的厚度。

输入格式

输入共 n+1 行。

第 1 行 2 个整数 n 和 m (1 ≤ m ≤ n ≤ 100000 ) 。

接下来 n 行,每行 1 个正整数,分别表示每本书的高度( 每本书的高度不超过100 )。

输出格式

一个整数,表示将 n 本书放入书架后书架的最小总高度。

样例

输入数据 1

3 2
20 10 30

输出数据 1

40

 

题目3:出生日期

题目描述

小明想调查他们信息学班里面每个同学的年龄,并且按照年龄从大到小的顺序排序。

但是小明最近很忙,所以请你帮他解决一下排序问题。

输入格式

有两行。

第一行为总人数 n ( 1 <= n <= 1000 );

第二行至 n+1 行分别是每个人的姓名 s 、出生年 y 、月 m 、日 d (姓名是长度不超过20个字符的英文);

输出格式

有 n 行,即 n 个生日从大到小同学的姓名。(如果有两个同学生日相同,输入靠后的同学先输出)

样例

输入数据 1

3
Yangchu 1992 4 23
Qiujingya 1993 10 13
Luowen 1991 8 1

输出数据 1

Luowen
Yangchu
Qiujingya

 

 题目4:

题目描述

小明想调查他们信息学班里面每个同学的年龄,并且按照年龄从大到小的顺序排序。

但是小明最近很忙,所以请你帮他解决一下排序问题。

输入格式

有两行。

第一行为总人数 n ( 1 <= n <= 1000 );

第二行至 n+1 行分别是每个人的姓名 s 、出生年 y 、月 m 、日 d (姓名是长度不超过20个字符的英文);

输出格式

有 n 行,即 n 个生日从大到小同学的姓名。(如果有两个同学生日相同,输入靠后的同学先输出)

样例

输入数据 1

3
Yangchu 1992 4 23
Qiujingya 1993 10 13
Luowen 1991 8 1

输出数据 1

Luowen
Yangchu
Qiujingya

 

 题目1答案:

代码

#include<bits/stdc++.h>
using namespace std;
int n,m,a[201][201];
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            cin>>a[i][j];
        }
    }
  for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            if(i%2==0)
            cout<<a[i-1][j]<<" ";
            if(i%2==1)
            {
                if(i!=n)
                {
                    cout<<a[i+1][j]<<" ";
                }
                else 
                {
                    cout<<a[i][j]<<" ";
                }
            }
        }
        cout<<endl;
    }
    return 0;
}

题目2答案:

代码

#include<bits/stdc++.h>
using namespace std;
long long n,m,a[100005],s;
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    sort(a+1,a+n+1);
    for(int i=n;i>=0;i-=m)
    {
        s=s+a[i];
    }
    cout<<s;
    return 0;   
}

 题目3答案:

代码

#include<bits/stdc++.h>
using namespace std;
    int n; 
    struct xs
	{
        string name;
        int nian,yue,ri,xh;
    }
    a[1002];
    bool cmp(xs x,xs y)
	{
        if(x.nian!=y.nian)
		{
            return x.nian<y.nian;
        }
		else 
		{
            if(x.yue!=y.yue)
			{
                return x.yue<y.yue;
            }
            else 
			{
                if(x.ri!=y.ri)
				{
					return x.ri<y.ri;
				} 
                else 
				{
					return x.xh>y.xh;
				}
            }
        }
    }
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
	{
        cin>>a[i].name>>a[i].nian>>a[i].yue>>a[i].ri;
        a[i].xh=i;
    }
    sort(a+1,a+1+n,cmp);
    for(int i=1;i<=n;i++)
	{
        cout<<a[i].name<<"\n";
    }
    return 0;
}

 

题目4答案:

代码

#include<bits/stdc++.h>
using namespace std;
long long x,s,l;
int main()
{
    cin>>x;
    if(x<=4)s=32;
    else
    {
        s+=(x/6)*36;
        l=x%6;
        if(l==5)
        {
            s+=36;
        }
        if(l==4||l==3)
        {
            s+=32;
        }
        if(l==2||l==1)
        {
            s+=28;
        }
    }
    cout<<s;
    return 0;
}

标签:同学,输出,题目,书架,int,C++,抽测,输入
From: https://blog.csdn.net/zhangguanghao9/article/details/143969552

相关文章

  • C++三级抽测题目(答案+题目)
    今天我给大家出一套C++三级考题限时1.5小时,大家加油!!!题目1:回文数回文数题目描述若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。例如:给定一个十进制数56,将56加65(即把56从右向左读),得到121是一个回文数。又如:数87:STEP1:87+78=165S......
  • C++:模拟实现unordered_map和unordered_set
    目录一.unordered_set和unordered_set二.哈希表的改造三.整体代码1.MyUnorderedMap.h2.MyUnorderedSet.h3.HashTable.h4.Hash.cpp一.unordered_set和unordered_setunordered_set和unordered_map的实现通过调用哈希表即可#pragmaonce#include"HashTable.h"using......
  • C++AVL平衡树
    1.AVL平衡树节点定义每一个节点都配左右孩子和父节点,以及平衡因子和其所对应的值。template<classK,classV>structAVLTreeNode{ //需要parent指针,后续更新平衡因子可以看到 pair<K,V>_kv; AVLTreeNode<K,V>*_left; AVLTreeNode<K,V>*_right; AVLTreeNode<K......
  • QT 线程 QThread QT5.12.3环境 C++实现
    一、线程  QT主线程称为GUI线程,负责初始化界面并监听事件循环,并根据事件处理做出界面上的反馈。如果把一些比较复杂或者费时的操作放在主线程中,界面就会出现卡顿或者无响应的现象。一般主线程负责影响界面上的操作,子线程负责负责费时的数据处理。二、使用多线程有什么好......
  • QT基础 编码问题 定时器 事件 绘图事件 QT5.12.3环境 C++实现
    一、编码问题        在计算机编程中,流(Stream)是一种抽象的概念,用于表示数据的输入或输出。根据处理数据的不同方式,流可以分为字节流(ByteStream)和字符流(CharacterStream)两大类。1.字节流(ByteStream)        字节流是处理数据的基本单位是字节(8位二进制数......
  • QT基础 窗体 对话框 文件 QT5.12.3环境 C++实现
    一、堆栈窗体1.概念是一种界面设计思路,多个窗体重叠在一起,通过点击对应的按钮,显示对应的界面。2.相关方法PublicFunctions  QStackedWidget(QWidget*parent=0)  //stack如果单纯指定父窗口,但是没有指定大小,那么是不显示的  intaddWidget(QWidget*......
  • 2025年AMC8数学竞赛的考试题目难度会增加吗?-季遇教育
      2025年AMC8数学竞赛的考试题目难度会增加吗?这无疑是众多备考同学心头萦绕的关键问题。新赛季的AMC8数学竞赛已确定将于2025年1月23日正式拉开帷幕,对于那些怀揣着在竞赛中取得优异成绩梦想、想要备考AMC8竞赛的同学们而言,此刻必须迅速行动起来,投入到紧张的备考之中! ......
  • Codeforces 55 题目分析
    本文将对Codeforces55(BetaRound51)进行分析。A题目描述:一个虫子位于绕城一圈的\(n\)片树叶中的一片上,在第\(k\)分钟,虫子会跳过\(k−1\)片树叶并在脚下的树叶上做一个记号。你的任务是判断该虫子是否将\(n\)片树叶都做了记号。解题思路:直接模拟即可。代码:#......
  • 【C++】右值引用与移动语义详解:如何利用万能引用实现完美转发
    C++语法相关知识点可以通过点击以下链接进行学习一起加油!命名空间缺省参数与函数重载C++相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C++内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现List使用及其模拟实现容器适配器Stack与QueuePriority......
  • java题目集4-6总结
    一、前言概括:经过了三次java的大作业的练习,也算是深入java了。这三次大作业的难度是层层递进的,虽然一次比一次难,但是每一次大作业都是基于前面大作业的知识点。所以每一次大作业认真完成,并认真总结知识点,多花点时间,大作业还是勉强可以完成。1.知识点:大作业4:大作业四还是答题......