| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 青少年软件编程C++三级题库(11-20) -> 正文阅读 |
|
[C++知识库]青少年软件编程C++三级题库(11-20) |
11
、求逆序对
给定一个序列 a1,a2,…,an 如果存在 i<j 并且 ai>aj,那么我们称之为逆序对,
求逆序对的数目。
输入:第一行为 n,表示序列长度,接下来的 n 行,第 i+1 行表示序列中的第 i 个数。
输出:所有逆序对总数。
输入样例: 4
3
2
3
2
输出样例:3
提示
N≤105,Ai≤105N≤105,Ai≤105。
12
、谁考了第
k
名
在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考
第 k 名学生的学号和成绩。
输入:第一行有两个整数,分别是学生的人数 n(
1≤n≤100)),和求第 k 名学生
的 k(
1≤k≤n)。
其后有 n 行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个
空格分隔。
输出:输出第 k 名学生的学号和成绩,中间用空格分隔。(注:请用%g 输出成绩)
输入样例
5 3
90788001 67.8
90788002 90.3
90788003 61
90788004 68.4
90788005 73.9
输出样例
90788004 68.4
13
、奇数单增序列
给定一个长度为 N(不大于 500)的正整数序列,请将其中的所有奇数取出,并按
升序输出。
输入:第 1 行为 N;
第 2 行为 N 个正整数,其间用空格间隔。
输出:增序输出的奇数序列,数据之间以逗号间隔。数据保证至少有一个奇数。
输入样例
10
1 3 2 6 5 4 9 8 7 10
输出样例
1,3,5,7,9
14
、成绩排序
给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有
相同分数则名字字典序小的在前。
输入:第一行为 n (0 < n < 20),表示班里的学生数目;
接下来的 n 行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只
包含字母且长度不超过 20,成绩为一个不大于 100 的非负整数。
输出:把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,
之间有一个空格。
输入样例
4
Kitty 80
Hanmeimei
90
Joey 92
Tim
28
输出样例
Joey 92
Hanmeimei 90
Kitty 80
Tim
28
15
、奖学金
某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前 5 名学
生发奖学金。期末,每个学生都有 3 门课的成绩:语文、数学、英语。先按总分从高到
低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语
文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。
任务:先根据输入的 3 门课的成绩计算总分,然后按上述规则排序,最后按排名顺
序输出前五名名学生的学号和总分。注意,在前 5 名同学中,每个人的奖学金都不相同,
因此,你必须严格按上述规则排序。例如,在某个正确答案中,如果前两行的输出数据
(每行输出两个数:学号、总分) 是:
7 279
5 279
这两行数据的含义是:总分最高的两个同学的学号依次是 7 号、5 号。这两名同学的
总分都是
279279
(总分等于输入的语文、数学、英语三科成绩之和) ,但学号为 7
的学生语文成绩更高一些。如果你的前两名的输出数据是:
5 279
7 279
则按输出错误处理,不能得分。
输入:包含 n+1 行:
第 1 行为一个正整数 n(小于 300),表示该校参加评选的学生人数。
第 2 到 n+1 行,每行有 3 个用空格隔开的数字,每个数字都在 0 到 100 之间。第 j
行的 3 个数字依次表示学号为
j
?
1 的学生的语文、数学、英语的成绩。每个学生的学
号按照输入顺序编号为 1
~
n(恰好是输入数据的行号减 1)。
输出:共有 5 行,每行是两个用空格隔开的正整数,依次表示前 5 名学生的学号和
总分。
输入样例
6
90 67 80
87 66 91
78 89 91
88 99 77
67 89 64
78 89 98
输出样例
6 265
4 264
3 258
2 244
1 237
16
、分数线划定
世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A
市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试
分数线根据计划录取人数的 150%划定,即如果计划录取 m 名志愿者,则面试分数线为排
名第 m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于
面试分数线的所有选手。
现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试
成绩。
输入:第一行,两个整数 n,m(
5≤n≤5000,3≤m≤n)中间用一个空格隔开,其
中 n 表示报名参加笔试的选手总数,m
表示计划录取的志愿者人数。输入数据保证 m
×150%向下取整后小于等于 n。
第二行到第 n+1 行,每行包括两个整数,中间用一个空格隔开,分别是选手的报
名号 k(1000≤k≤9999)和该选手的笔试成绩 s(1≤s≤100)。数据保证选手的报名
号各不相同。
输出:第一行,有两个整数,用一个空格隔开,第一个整数表示面试分数线;第二
个整数为进入面试的选手的实际人数。
从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选
手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小
到大的顺序输出。
输入样例
6 3
1000 90
3239 88
2390 95
7231 84
1005 95
1001 88
输出样例
88 5
1005 95
2390 95
1000 90
1001 88
3239 88
提示
样例说明:m×150%=3×150%=4.5,向下取整后为 4。保证 4 个人进入面试的分数线
为 88,但因为 88 有重分,所以所有成绩大于等于 88 的选手都可以进入面试,故最终有
5 个人进入面试。
17
、整数奇偶排序
给定 10 个整数的序列,要求对其重新排序。排序要求:
1.奇数在前,偶数在后;
2.奇数按从大到小排序;
3.偶数按从小到大排序。
输入:输入一行,包含 10 个整数,彼此以一个空格分开,每个整数的范围是大于
等于 0,小于等于 30000。
输出:按照要求排序后输出一行,包含排序后的 10 个整数,数与数之间以一个空
格分开。
输入样例
4 7 3 13 11 12 0 47 34 98
输出样例
47 13 11 7 3 0 4 12 34 98
18
、合影效果(真题 整数奇偶排序 )
小云和朋友们去爬香山,为美丽的景色所陶醉,想合影留念。如果他们站成一排,
男生全部在左(从拍照者的角度),并按照从矮到高的顺序从左到右排,女生全部在右,
并按照从高到矮的顺序从左到右排,请问他们合影的效果是什么样的(所有人的身高都
不同)?
输入:第一行是人数 n(
2 <= n <= 40,且至少有 1 个男生和 1 个女生)。
后面紧跟 n 行,每行输入一个人的性别(男 male 或女 female)和身高(浮点数,
单位米),两个数据之间以空格分隔。
输出:n 个浮点数,模拟站好队后,拍照者眼中从左到右每个人的身高。每个浮点
数需保留到小数点后 2 位,相邻两个数之间用单个空格隔开。
输入样例
6
male 1.72
male 1.78
female 1.61
male 1.65
female 1.70
female 1.56
输出样例
1.65 1.72 1.78 1.70 1.61 1.56
19
、明明的随机数(排序 去重)
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算
机生成了 N 个 1 到 1000 之间的随机整数(
N≤100),对于其中重复的数字,只保留一
个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到
大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工
作。
输入:有 2 行,第 1 行为 1 个正整数,表示所生成的随机数的个数:N;
第 2 行有 N 个用空格隔开的正整数,为所产生的随机数。
输出:也是 2 行,第 1 行为 1 个正整数 M,表示不相同的随机数的个数。第 2 行为
M 个用空格隔开的正整数,为从小到大排好序的不相同的随机数。
输入样例
10
20 40 32 67 40 20 89 300 400 15
输出样例
8
15 20 32 40 67 89 300 400
解题思路:用数组桶排序并去重。
桶排序是所有排序算法中最快、最简单的排序算法。首先需要知道所有待排序元素
的范围,然后需要有在这个范围内的同样数量的桶,接着把元素放到对应的桶中,最后
按顺序输出。如有 11 个桶,我们只需要声明一个长度为 11 的数组,然后每把一个元
素往桶中放时,就把数组指定位置的值加 1,最终倒序输出数组的下标,数组每个位置
的值为几就输出几次下标,这样就可以实现桶排序了。
20
、单词排序
输入一行单词序列,相邻单词之间由 1 个或多个空格间隔,请按照字典序输出这些
单词,要求重复的单词只输出一次。(区分大小写)
输入:一行单词序列,最少 1 个单词,最多 100 个单词,每个单词长度不超过 50,
单词之间用至少 1 个空格间隔。数据不含除字母、空格外的其他字符。
输出:按字典序输出这些单词,重复的单词只输出一次。
输入样例
She wants to go to Peking University to study Chinese
输出样例
Chinese
Peking
She
University
go
study
to
wants
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 5:07:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |