编程基础之简单排序题
- 格式:docx
- 大小:32.02 KB
- 文档页数:14
OpenJudge解题经验交流1.1编程基础之输⼊输出01:Hello, World!02:输出第⼆个整数PS:a,b需⽤longint类型接收03:对齐输出04:输出保留3位⼩数的浮点数05:输出保留12位⼩数的浮点数08:字符三⾓形09:字符菱形10:超级玛丽游戏1.2编程基础之变量定义、赋值及转换01:整型数据类型存储空间⼤⼩02:浮点型数据类型存储空间⼤⼩PS:可利⽤sizeof函数03:其他基本数据类型存储空间⼤⼩04:填空:类型转换105:填空:类型转换206:浮点数向零舍⼊07:打印ASCII码08:打印字符09:整型与布尔型的转换PS:n需要⽤longint类型接收10:Hello, World!的⼤⼩PS:字符串最后有⼀个结束标志'\0',所以实际长度要再加11.3编程基础之算术表达式与顺序执⾏01:A+B问题PS:A,B需⽤longint类型接收02:计算(a+b)*c的值03:计算(a+b)/c的值04:带余除法05:计算分数的浮点数值06:甲流疫情死亡率07:计算多项式的值08:温度表达转化09:与圆相关的计算10:计算并联电阻的阻值12:计算球的体积13:反向输出⼀个三位数14:⼤象喝⽔16:计算线段长度17:⽤边长求三⾓形⾯积PS:海伦公式18:计算三⾓形⾯积19:A*B问题20:计算2的幂1.4编程基础之逻辑表达式与条件分⽀01:判断数正负02:输出绝对值03:奇偶数判断04:奇偶ASCII值判断05:整数⼤⼩⽐较06:判断是否为两位数07:收集瓶盖赢⼤奖08:判断⼀个数能否同时被3和5整除09:判断能否被3,5,7整除10:有⼀门课不及格的学⽣11:晶晶赴约会12:骑车与⾛路13:分段函数PS:N需定义为single类型14:计算邮资15:最⼤数输出PS:三个整数需⽤longint接收16:三⾓形判断PS:输⼊的三⾓形三条边长不⼀定是从⼩到⼤排好序的,⽽是随机给的17:判断闰年18:点和正⽅形的关系19:简单计算器1.5编程基础之循环控制01:求平均年龄02:均值03:求整数的和与均值PS:样例输⼊有误,n个整数是在⼀⾏⾥⾯,⽽不是n⾏04:最⾼的分数05:整数序列的元素最⼤跨度值06:奥运奖牌计数08:满⾜条件的数累加09:整数的个数10:与指定数字相同的数的个数11:乘⽅计算12:⼈⼝增长问题13:菲波那契数列PS:k等于1和2的情况需单独考虑15:鸡尾酒疗法16:救援18:⾓⾕猜想PS:运算的过程会超出longint范围19:津津的储蓄计划20:药房管理21:正常⾎压22:求特殊⾃然数PS:数据进制转换23:统计满⾜条件的4位数个数24:级数求和25:分离整数的各个数位26:数字反转27:含k个3的数28:开关灯29:求分数序列和PS:p、q会达到longint级别30:计算分数加减表达式的值31:求阶乘的和32:求出e的值33:计算多项式的值34:与7⽆关的数35:数1的个数36:数字统计37:画矩形38:质因数分解39:第n⼩的质数PS:第10000⼩的质数是104729 40:⾦币t1392:Bank Interestt2757:多边形内⾓和PS:while not eoln dot6:Financial Management1.6编程基础之⼀维数组01:与指定数字相同的数的个数02:陶陶摘苹果03:计算书费04:数组逆序重放PS:第⼆⾏的n个整数需⽤longint类型接收05:年龄与疾病06:校门外的树07:向量点积计算08:⼤整数加法09:计算2的N次⽅PS:⾼精度乘⽅,2的100次⽅是⼀个30位整数a1738:⼤整数减法t1577:Jolly Jumpers1.7编程基础之字符串01:统计数字字符个数02:找第⼀个只出现⼀次的字符04:⽯头剪⼦布05:输出亲朋字符串06:合法 C 标识符08:密码翻译09:潜伏者11:将字符串中的⼩写字母转换成⼤写字母12:⼤⼩写字母互换13:整理药名16:删除单词后缀25:ISBN号码28:判断字符串是否为回⽂1.8编程基础之多维数组01:矩阵交换⾏PS:矩阵中的数字需⽤integer类型接收02:同⾏列对⾓线的格⼦03:计算矩阵边缘元素之和PS:如果不⽤数组应该怎么做?04:错误探测PS:此题不能⽤while not eof do begin05:计算鞍点06:图像相似度07:矩阵加法08:矩阵乘法09:矩阵转置10:图像旋转12:图像模糊处理13:扫雷游戏地雷数计算15:肿瘤⾯积1.9编程基础之顺序查找01:查找特定的值02:输出最⾼分数的学⽣姓名03:不⾼兴的津津04:谁拿了最多奖学⾦05:最⼤值和最⼩值的差06:笨⼩猴07:不与最⼤数相同的数字之和PS:如果不⽤⼀维数组应该怎么做?09:直⽅图12:最长平台PS:平台中的数有负数的情况13:整数去重15:接⽔问题t1798:数字求和1.10编程基础之简单排序01:谁考了第k名02:奇数单增序列03:成绩排序04:奖学⾦05:分数线划定PS:注意排好序后划定分数线时请考虑同分并列的情况06:整数奇偶排序PS:10个数中有可能会有相同的数噢09:明明的随机数1.12编程基础之函数与过程抽象01:简单算术表达式求值02:短信计费03:甲流病⼈初筛04:最匹配的矩阵05:统计单词数06:寻宝07:机器翻译08:Vigenère密码PS:注意是根据密钥和密⽂求明⽂09:图像旋转翻转变换10:素数对1.13编程基础之综合应⽤03:⼤整数减法05:素数回⽂数的个数07:玛雅历09:⼤整数乘法PS:⼆个200位⼤数相乘结果可能达到400位10:判决素数个数PS:X可能会⼩于Y14:求满⾜条件的3位数PS:实际满⾜条件的3位数有9个22:因⼦分解25:计算两个⽇期之间的天数27:除以1328:出现次数超过⼀半的数PS:超过⼀半是指超过n的⼀半2.1基本算法之枚举1752:鸡兔同笼1809:两倍1812:完美⽴⽅1943:满⾜条件的整数2722:和数2723:因⼦问题3526:最简真分数PS:最简真分数组合的个数最⼤可达longint级6175:细菌的战争PS:公式的写法有讲究,g:=trunc(g+g*5/100);可以AC,但如果写成g:=trunc(g*1.05);就AC不了6184:找和为K的两个元素PS:⽤类似选择排序的双重循环穷举6187:称体重6188:⽐饭量7621:硬币⾯值组合PS:输出顺序为:先按c的值从⼩到⼤,若c相同则按b的值从⼩到⼤。
C语言初学者练习题目10条1. 关于C语言初学者练习题目10条在学习编程语言的过程中,练习题目是一个重要的环节,可以帮助初学者巩固基本知识和提升解决问题的能力。
本文将介绍10个适合C语言初学者的练习题目,并分析每个题目的解题思路。
题目一:输出Hello, World!这是C语言中最基础的练习题目,通过编写一个简单的程序来输出"Hello, World!",帮助初学者熟悉C语言的基本语法和编译运行过程。
题目二:计算两个整数之和编写一个程序,接收用户输入的两个整数,并输出它们的和。
这个练习可以让初学者熟悉C语言的基本输入输出操作和基本的数学运算。
题目三:判断一个数是否为素数编写一个程序,接收用户输入的一个整数,并判断该数是否为素数。
这个练习可以让初学者熟悉使用循环和条件语句进行判断,并学习如何优化算法以提高判断效率。
题目四:计算数组元素的平均值编写一个程序,接收用户输入的一个整型数组,并计算出数组元素的平均值。
这个练习可以让初学者熟悉数组的基本使用和循环的结合运用。
题目五:查找数组中的最大值和最小值编写一个程序,接收用户输入的一个整型数组,并找出数组中的最大值和最小值。
这个练习可以让初学者学习如何定义和使用函数,并加深对数组的理解。
题目六:实现简单的字符串翻转编写一个程序,接收用户输入的一个字符串,并将其翻转输出。
这个练习可以让初学者学习如何处理字符串类型的数据,并锻炼对数组和循环的综合运用能力。
题目七:实现简单的冒泡排序编写一个程序,接收用户输入的一个整型数组,并使用冒泡排序算法对数组进行排序。
这个练习可以让初学者深入理解冒泡排序算法的原理,并学习如何进行数组的元素交换。
题目八:实现简单的查找算法编写一个程序,接收用户输入的一个整型数组和一个目标值,在数组中查找目标值并输出其下标。
这个练习可以让初学者学习不同查找算法的实现原理,并熟悉如何使用循环进行遍历操作。
题目九:实现简单的递归算法编写一个程序,使用递归算法计算斐波那契数列的第n项值,并将其输出。
编程基础试题及答案高中一、选择题(每题3分,共30分)1. 以下哪个选项是正确的变量命名方式?A. 2variableB. variable2C. variable-nameD. variable_name答案:B2. 在编程中,哪个关键字用于定义一个函数?A. ifB. forC. functionD. class答案:C3. 以下哪个选项是合法的标识符?A. 2variableB. variable2C. variable-nameD. variable_name答案:B4. 在Python中,以下哪个选项是正确的字符串表示方式?A. 'Hello World'B. "Hello World"C. `Hello World`D. A和B答案:D5. 在编程中,以下哪个选项是正确的条件语句?A. ifB. elseC. switchD. case答案:A6. 在编程中,以下哪个选项是正确的循环语句?A. forB. whileC. do-whileD. A和B答案:D7. 在编程中,以下哪个选项是正确的数组定义方式?A. int[] array = new int[5];B. int array[] = new int[5];C. int array = new int[5];D. A和B答案:D8. 在编程中,以下哪个选项是正确的注释方式?A. // This is a single line commentB. /* This is a multi-line comment */C. Both A and BD. None of the above答案:C9. 在编程中,以下哪个选项是正确的逻辑运算符?A. &&B. ||C. Both A and BD. None of the above答案:C10. 在编程中,以下哪个选项是正确的位运算符?A. &B. |C. Both A and BD. None of the above答案:C二、填空题(每题3分,共30分)1. 在编程中,变量的声明和初始化通常需要使用______关键字。
计算机科学与技术专业知识考题计算机科学与技术专业是目前社会发展中最炙手可热的专业,拥有广阔的就业前景和发展空间。
在计算机科学与技术专业的学习过程中,掌握并熟悉相关专业知识是非常重要的。
本文将介绍一些计算机科学与技术专业的知识考题,帮助大家更好地了解和掌握这一领域的知识。
一、数据结构与算法数据结构与算法是计算机科学与技术专业中的基础考题。
下面是一道关于排序算法的题目:题目:请简要介绍冒泡排序算法,并给出其时间复杂度和空间复杂度。
解析:冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个相邻的元素,并根据大小进行交换。
时间复杂度为O(n^2),空间复杂度为O(1)。
二、计算机网络计算机网络是计算机科学与技术专业中的重要知识点。
下面是一道关于网络协议的题目:题目:请简要介绍TCP/IP协议族,并说明其各层的功能。
解析:TCP/IP协议族是计算机网络中最重要的协议之一,它包括四层:网络接口层、网络层、传输层和应用层。
网络接口层负责物理连接的建立和维护,网络层负责数据包的传输和路由选择,传输层负责数据的可靠传输,应用层负责实现各种网络应用。
三、操作系统操作系统是计算机科学与技术专业中的核心知识。
下面是一道关于进程调度的题目:题目:请简要介绍先来先服务(FCFS)调度算法,并说明其特点。
解析:先来先服务调度算法是一种非抢占式的进程调度算法,即按照进程到达的顺序进行调度。
特点是简单、公平,但容易导致“饥饿”现象,即长作业等待时间长。
四、数据库数据库是计算机科学与技术专业中与数据存储和管理相关的重要知识。
下面是一道关于关系数据库的题目:题目:请简要介绍关系数据库的特点,并说明关系数据库的一些术语。
解析:关系数据库的特点包括数据的结构化、数据的共享和数据的完整性。
关系数据库的一些术语包括表(Table)、行(Row)、列(Column)、主键(Primary Key)和外键(Foreign Key)等。
c编程练习题(打印版)C语言编程练习题一、基础练习1. 编写一个程序,计算并输出两个整数的和、差、乘积和商。
提示:使用scanf函数输入两个整数,使用算术运算符进行计算。
2. 编写一个程序,计算并输出一个圆的面积。
提示:圆的面积公式为A = π * r * r,其中 r 是圆的半径。
3. 编写一个程序,计算并输出一个矩形的周长和面积。
提示:矩形的周长公式为 P = 2 * (l + w),面积公式为 A = l * w,其中 l 是长度,w 是宽度。
4. 编写一个程序,判断一个整数是奇数还是偶数。
提示:使用模运算符 % 来判断。
二、控制结构练习1. 编写一个程序,根据用户输入的分数,输出对应的等级。
提示:90分以上为 A,80-89分为 B,70-79分为 C,60-69分为D,60分以下为 F。
2. 编写一个程序,实现简单的猜数字游戏。
提示:程序随机生成一个1到100之间的整数,用户输入猜测的数字,程序根据用户输入给出提示(太高、太低或正确)。
3. 编写一个程序,实现一个简单的计算器。
提示:程序提示用户输入运算符(+、-、*、/)和两个操作数,然后输出计算结果。
三、数组练习1. 编写一个程序,实现对一个整数数组的排序。
提示:可以使用冒泡排序、选择排序或插入排序算法。
2. 编写一个程序,找出一个字符串数组中最长的字符串。
提示:遍历字符串数组,比较每个字符串的长度。
3. 编写一个程序,实现字符串的反转。
提示:可以使用数组的索引特性来实现。
四、函数练习1. 编写一个函数,计算一个数的阶乘。
提示:使用递归或循环来实现。
2. 编写一个函数,实现字符串的复制。
提示:不使用库函数,手动复制字符串。
3. 编写一个函数,判断一个字符串是否为回文字符串。
提示:回文字符串是指正读和反读都一样的字符串。
五、指针练习1. 编写一个程序,使用指针交换两个整数的值。
提示:注意指针变量的赋值和解引用。
2. 编写一个程序,实现字符串的连接。
Java基础编程练习题一、基本语法1. 编写一个Java程序,输出“Hello, World!”。
2. 声明一个整型变量并赋值为10,然后输出该变量的值。
3. 编写一个Java程序,实现两个整数的加、减、乘、除运算。
4. 编写一个Java程序,判断一个整数是奇数还是偶数。
5. 编写一个Java程序,交换两个变量的值。
二、控制结构1. 使用ifelse语句判断一个年份是否为闰年。
2. 编写一个Java程序,使用for循环输出1到100的所有偶数。
3. 使用while循环计算1+2+3++100的和。
4. 编写一个Java程序,使用dowhile循环输出1到10的所有整数。
5. 使用switch语句实现一个简单的计算器程序,支持加、减、乘、除四种运算。
三、数组1. 声明一个整型数组,并初始化为{1, 2, 3, 4, 5},然后输出数组中的每个元素。
2. 编写一个Java程序,计算数组中所有元素的和。
3. 实现一个方法,用于查找数组中的最大值。
4. 编写一个Java程序,将一个字符串数组按照字母顺序排序。
5. 使用二维数组输出一个5x5的乘法表。
四、字符串操作1. 编写一个Java程序,连接两个字符串。
2. 实现一个方法,判断一个字符串是否为回文。
3. 编写一个Java程序,将字符串中的所有小写字母转换为大写字母。
4. 使用StringBuilder类实现字符串的逆序输出。
5. 编写一个Java程序,计算一个字符串中某个字符出现的次数。
五、面向对象基础1. 创建一个名为Person的类,包含姓名、年龄和性别属性,并提供相应的构造方法和getter/setter方法。
2. 编写一个Java程序,实现两个Person对象的比较(按年龄比较)。
3. 创建一个Student类,继承自Person类,并添加成绩属性。
4. 编写一个Java程序,实现Student类的多态。
5. 创建一个接口Animal,包含吃、睡觉和叫三个方法,然后创建两个类Dog和Cat实现该接口。
编程基础题库及答案详解在计算机科学领域,编程基础是每个学习者必须掌握的知识点。
以下是一系列编程基础题目及其答案详解,旨在帮助学习者巩固编程基础。
1. 题目:编写一个程序,计算并输出1到100的整数之和。
答案详解:要解决这个问题,我们可以使用一个简单的循环结构。
以下是一个使用Python语言的示例代码:```pythontotal_sum = 0for number in range(1, 101):total_sum += numberprint("1到100的整数之和是:", total_sum)```2. 题目:使用条件语句判断一个数是正数、负数还是零。
答案详解:这个问题可以通过if-elif-else语句来解决。
以下是Python代码示例:```pythonnumber = int(input("请输入一个整数:"))if number > 0:print("这是一个正数。
")elif number < 0:print("这是一个负数。
")else:print("这是零。
")```3. 题目:编写一个程序,实现对一个字符串进行反转。
答案详解:字符串反转可以通过多种方式实现,以下是一个使用Python语言的示例代码:```pythonoriginal_string = input("请输入一个字符串:")reversed_string = original_string[::-1]print("反转后的字符串是:", reversed_string)```4. 题目:实现一个函数,计算一个数的阶乘。
答案详解:阶乘可以通过递归或循环实现。
以下是使用循环的Python示例代码:```pythondef factorial(n):if n == 0:return 1result = 1for i in range(1, n + 1):result *= ireturn resultnumber = int(input("请输入一个整数:"))print(f"{number}的阶乘是:", factorial(number))```5. 题目:使用数组存储10个整数,并找出其中的最大值和最小值。
大学计算机编程基础题库及答案一、选择题1. 下列哪个不是计算机的基本组成部分?A. CPUB. 内存C. 显示器D. 键盘答案:C2. 常见的编程语言中,以下哪个是面向对象的语言?A. CB. JavaC. PythonD. Assembly答案:B3. 下列哪一种数据结构,先进后出的特点?A. 队列B. 栈C. 链表D. 哈希表答案:B4. HTTP是一种用于通信的协议,下列哪个选项是HTTP的全称?A. Hyper Transfer Text ProtocolB. Hyper Terminal Transfer ProtocolC. Hypertext Transfer ProtocolD. Hypertext Terminal Protocol答案:C5. 在Python中,以下哪个函数可以用于输出信息到屏幕?A. print()B. input()C. range()D. len()答案:A二、填空题1. 在C语言中,用于循环的关键字是______。
答案:while2. 在HTML中,用于定义标题的标签是______。
答案:h1-h63. 在计算机存储单位中,1024字节等于1______。
答案:KB4. 在Java中,用于创建对象的关键字是______。
答案:new5. 在冒泡排序算法中,最外层循环需要执行______次。
答案:n-1三、编程题1. 编写一个Python程序,计算并输出1到100之间所有偶数的和。
答案:sum = 0for i in range(1, 101):if i % 2 == 0:sum += iprint("1到100之间所有偶数的和为:", sum)2. 编写一个Java程序,实现一个简单的计算器功能。
用户输入两个数字和一个运算符,程序输出计算结果。
答案:import java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个数字:");double num1 = scanner.nextDouble();System.out.print("请输入第二个数字:");double num2 = scanner.nextDouble();System.out.print("请输入运算符(+、-、*、/):"); char operator = scanner.next().charAt(0);double result;switch (operator) {case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':result = num1 / num2;break;default:System.out.println("输入错误!");return;}System.out.println("计算结果为:" + result);}}四、简答题1. 请简述面向对象编程的特点。
01:谁考了第k名∙∙提交∙统计∙提问总时间限制:?1000ms描述在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。
输入第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。
其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。
输出输出第k名学生的学号和成绩,中间用空格分隔。
(注:请用%g输出成绩)样例输入样例输出02:奇数单增序列∙∙提交∙统计∙提问总时间限制:?1000ms内存限制:?65536kB描述给定一个长度为N(不大于500)的正整数序列,请将其中的所有奇数取出,并按升序输出。
输入共2行:第1行为N;第2行为N 个正整数,其间用空格间隔。
输出增序输出的奇数序列,数据之间以逗号间隔。
数据保证至少有一个奇数。
样例输入样例输出03:成绩排序总时间限制:?1000ms内存限制:?65536kB描述给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。
输入第一行为n (0 < n < 20),表示班里的学生数目;接下来的n行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。
名字只包含字母且长度不超过20,成绩为一个不大于100的非负整数。
输出把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。
样例输入样例输出04:奖学金描述某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。
期末,每个学生都有3门课的成绩:语文、数学、英语。
先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。
任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的学号和总分。
简单算法c语言
C语言中的算法是程序设计的基础,也是我们在编写程序时必须掌握
的技能之一。
简单算法是指那些基本的、常用的、易于理解和实现的
算法,如排序、查找、递归等。
一、排序算法
1.冒泡排序
冒泡排序是一种简单的排序算法,其思想是将相邻两个元素比较大小,如果前面比后面大,则交换位置,直到整个序列有序为止。
2.选择排序
选择排序是一种简单直观的排序算法,其思想是从未排序序列中找到
最小元素,放到已排好序列的末尾。
3.插入排序
插入排序是一种简单直观的排序算法,其思想是将未排好序列中每一
个元素插入到已排好序列中正确位置上。
二、查找算法
1.线性查找
线性查找又称顺序查找,其思想是从头到尾遍历整个数组或列表,逐个比较每一个元素是否与目标相同。
2.二分查找
二分查找又称折半查找,其思想是先将数组或列表按照大小顺序排好序,然后通过不断地折半缩小范围来寻找目标元素。
三、递归算法
递归算法是指在程序中调用自身的一种算法,其思想是将问题分解成更小的子问题,并不断地递归调用自身来解决这些子问题。
例如,计算阶乘可以使用递归算法来实现:
int factorial(int n)
{
if(n == 0 || n == 1)
return 1;
else
return n * factorial(n-1);
}
以上就是C语言中的简单算法,虽然它们看起来很简单,但是它们在实际编程中却有很大的作用。
掌握这些基本的、常用的、易于理解和实现的算法,可以提高我们编写程序的效率和质量。
01:谁考了第k名
•
•提交
•统计
•提问
总时间限制:?
1000ms
描述
在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的
学号和成绩。
输入
第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。
其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。
输出
输出第k名学生的学号和成绩,中间用空格分隔。
(注:请用%g输出成绩)样例输入
样例输出
02:奇数单增序列
•
•提交
•统计
•提问
总时间限制:?
1000ms
内存限制:?
65536kB
描述
给定一个长度为N(不大于500)的正整数序列,请将其中的所有奇数取出,并按升序输出。
输入
共2行:
第1行为N;
第2行为N 个正整数,其间用空格间隔。
输出
增序输出的奇数序列,数据之间以逗号间隔。
数据保证至少有一个奇数。
样例输入
样例输出
03:成绩排序
总时间限制:?
1000ms
内存限制:?
65536kB
描述
给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。
输入
第一行为n (0 < n < 20),表示班里的学生数目;
接下来的n行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。
名字只包含字母且长度不超过20,成绩为一个不大于100的非负整数。
输出
把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。
样例输入
样例输出
04:奖学金
描述
某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。
期
末,每个学生都有3门课的成绩:语文、数学、英语。
先按总分从高到低排序,如果两个同学总
分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的
同学排在前面,这样,每个学生的排序是唯一确定的。
任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名
名学生的学号和总分。
注意,在前5名同学中,每个人的奖学金都不相同,因此,你必须严格按
上述规则排序。
例如,在某个正确答案中,如果前两行的输出数据(每行输出两个数:学号、总分) 是:
7 279
5 279
这两行数据的含义是:总分最高的两个同学的学号依次是7号、5号。
这两名同学的总分都是
279 (总分等于输入的语文、数学、英语三科成绩之和) ,但学号为7的学生语文成绩更高一
些。
如果你的前两名的输出数据是:
5 279
7 279
则按输出错误处理,不能得分。
输入
包含n+1行:?
第1行为一个正整数n,表示该校参加评选的学生人数。
?
第2到n+1行,每行有3个用空格隔开的数字,每个数字都在0到100之间。
第j行的3个数
字依次表示学号为j-1 的学生的语文、数学、英语的成绩。
每个学生的学号按照输入顺序编号
为1~n (恰好是输入数据的行号减1)。
?
所给的数据都是正确的,不必检验。
50%的数据满足:各学生的总成绩各不相同;
100%的数据满足: 6<=n<=300。
输出
共有5行,每行是两个用空格隔开的正整数,依次表示前5名学生的学号和总分。
样例输入
样例输出
NOIP2007复赛普及组第一题05:分数线划定
?提交
?统计
?提问
总时间限制:?
1000ms
内存限制:?
65536kB
描述
世博会志愿者的选拔工作正在 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)。
数据保证选手的报名号各不
相同。
输出
第一行,有两个整数,用一个空格隔开,第一个整数表示面试分数线;第二个整数为进入面试的
选手的实际人数。
从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和
笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。
样例输入
样例输出
提示
样例说明:m*150% = 3*150% = ,向下取整后为4。
保证4个人进入面试的分数线为
88,但因为88有重分,所以所有成绩大于等于88的选手都可以进入面试,故最终有5个人进入面试。
来源
NOIP2009复赛普及组第二题
06:整数奇偶排序
描述
给定10个整数的序列,要求对其重新排序。
排序要求:
1.奇数在前,偶数在后;
2.奇数按从大到小排序;
3.偶数按从小到大排序。
输入
输入一行,包含10个整数,彼此以一个空格分开,每个整数的范围是大于等于0,小于等于
100。
输出
按照要求排序后输出一行,包含排序后的10个整数,数与数之间以一个空格分开。
样例输入
样例输出
来源
1873
07:合影效果
描述
小云和朋友们去爬香山,为美丽的景色所陶醉,想合影留念。
如果他们站成一排,男生全部在左(从拍照者的角度),并按照从矮到高的顺序从左到右排,女生全部在右,并按照从高到矮的顺
序从左到右排,请问他们合影的效果是什么样的(所有人的身高都不同)?
输入
第一行是人数n(2 <= n <= 40,且至少有1个男生和1个女生)。
后面紧跟n行,每行输入一个人的性别(男male或女female)和身高(浮点数,单位米),
两个数据之间以空格分隔。
输出
n个浮点数,模拟站好队后,拍照者眼中从左到右每个人的身高。
每个浮点数需保留到小数点后
2位,相邻两个数之间用单个空格隔开。
样例输入
样例输出
来源
医学部2010 期末试题李雁章
08:病人排队
描述
病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序:?
1.?老年人(年龄>= 60岁)比非老年人优先看病。
?
2. 老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。
?
3.?非老年人按登记的先后顺序看病。
输入
第1行,输入一个小于100的正整数,表示病人的个数;
后面按照病人登记的先后顺序,每行输入一个病人的信息,包括:一个长度小于10的字符串表
示病人的ID(每个病人的ID各不相同且只含数字和字母),一个整数表示病人的年龄,中间用单个空格隔开。
输出
按排好的看病顺序输出病人的ID,每行一个。
样例输入
样例输出
来源
习题(14-6)
09:明明的随机数
描述
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个
1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去
掉,不同的数对应着不同的学生的学号。
然后再把这些数从小到大排序,按照排好的顺序去找同
学做调查。
请你协助明明完成“去重”与“排序”的工作。
输入
有2行,第1行为1个正整数,表示所生成的随机数的个数:N;
第2行有N个用空格隔开的正整数,为所产生的随机数。
输出
也是2行,第1行为1个正整数M,表示不相同的随机数的个数。
第2行为M个用空格隔开的
正整数,为从小到大排好序的不相同的随机数。
样例输入
样例输出
来源
NOIP2006复赛普及组第一题
10:单词排序
•
•提交
•统计
•提问
总时间限制:?
1000ms
内存限制:?
65536kB
描述
输入一行单词序列,相邻单词之间由1个或多个空格间隔,请按照字典序输出这些单词,要求重复的单词只输出一次。
(区分大小写)
输入
一行单词序列,最少1个单词,最多100个单词,每个单词长度不超过50,单词之间用至少1
个空格间隔。
数据不含除字母、空格外的其他字符。
输出
按字典序输出这些单词,重复的单词只输出一次。
样例输入
样例输出。