PTA
pta程序设计类实验辅助教学平台练习题
南商
有限的青春无限的代码
展开
-
有理数均值 (20分)(PTA)
有理数均值本题要求编写程序,计算N个有理数的平均值。输入格式输入第一行给出正整数N(≤100);第二行中按照a1/b1 a2/b2 …的格式给出N个分数形式的有理数,其中分子和分母全是整形范围内的整数;如果是负数,则负号一定出现在最前面。输出格式在一行中按照a/b的格式输出N个有理数的平均值。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。输入样例141/2 1/6 3/6 -5/10输出样例11/6输入样例224/3 2/3输出样例21代码#i原创 2021-01-19 14:55:10 · 811 阅读 · 0 评论 -
输出学生成绩 (20分)(PTA)
输出学生成绩本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。输入格式输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,数字间以空格分隔。输出格式按照以下格式输出:average = 平均成绩max = 最高成绩min = 最低成绩结果均保留两位小数。输入样例385 90 95输出样例average = 90.00max = 95.00min = 85.00代码#incl原创 2021-01-17 10:51:45 · 5618 阅读 · 0 评论 -
删除字符串中的子串 (10分)(PTA)
删除字符串中的子串输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。输入格式输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。输出格式在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。输入样例Tomcat is a male ccatatcat输出样例Tom is a male 代码#include<stdio.h>#include<string.h>原创 2021-01-17 10:48:05 · 614 阅读 · 0 评论 -
找鞍点 (15分)(PTA)
找鞍点 (10分)一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。输入样例141 7 4 14 8 3 61 6 1 20 7 8 9输出样例12 1输入样原创 2021-01-17 10:44:39 · 694 阅读 · 0 评论 -
矩阵运算 (15分)(PTA)
矩阵运算 (10分)给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。输入格式输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个整数,其间以空格分隔。输出格式在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。输入样例42 3 4 15 6 1 17 1 8 11 1 1 1输出样例35代码#include <stdio.h>int mai原创 2021-01-17 10:40:48 · 464 阅读 · 0 评论 -
字符串循环左移 (15分)(PTA)
字符串循环左移输入一个字符串和一个非负整数N,要求将字符串循环左移N次。输入格式输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。输出格式在一行中输出循环左移N次后的字符串。输入样例Hello World!2输出样例llo World!He代码#include<stdio.h>int main(){ int n, i=0, k=0; char a[105], s; while((s=getchar())原创 2021-01-17 10:37:54 · 458 阅读 · 0 评论 -
说反话-加强版 (15分)(PTA)
说反话-加强版给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。输出格式每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。输入样例Hello World Here I Come输出样例Come I Here World Hello代码#include&原创 2021-01-17 10:35:25 · 2139 阅读 · 1 评论 -
一帮一 (10分)(PTA)
一帮一“一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。输入格式输入第一行给出正偶数N(≤50),即全班学生的人数。此后N行,按照名次从高到低的顺序给出每个学生的性别(0代表女生,1代表男生)和姓名(不超过8个英文字母的非空字符串),其间以1个空格分隔。这里保证本班男女比例是1:1,并且没有并列名次。原创 2021-01-15 16:55:32 · 983 阅读 · 2 评论 -
通讯录的录入与显示 (15分)(PTA)
通讯录的录入与显示通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。 本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录。输入格式输入在第一行给出正整数N(≤10);随后N行,每行按照格式姓名 生日 性别 固话 手机给出一条记录。其中姓名是不超过10个字符、不包含空格的非空字符串;生日按yyyy/mm/dd的格式给出年月日;性别用M表示“男”、F表示“女”;固话和手机均为不超过15位的连续数字,前面有可能出现+。在通讯录记录输入完成后,最后一行原创 2021-01-15 16:53:44 · 1615 阅读 · 0 评论 -
查找书籍 (10分)(PTA)
查找书籍给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。输入格式输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。输入样例3Programming in C21.5Programming in VB18.5Programming in D原创 2021-01-15 16:51:51 · 900 阅读 · 0 评论 -
计算平均成绩 (15分)(PTA)
计算平均成绩给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和成绩([0,100]区间内的整数),要求计算他们的平均成绩,并顺序输出平均线以下的学生名单。输入格式输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩”,中间以空格分隔。输出格式首先在一行中输出平均成绩,保留2位小数。然后按照输入顺序,每行输出一位平均线以下的学生的姓名和学号,间隔一个空格。输入样例500001 zhan原创 2021-01-15 16:50:15 · 1649 阅读 · 0 评论 -
有理数加法 (15分)(PTA)
有理数加法 (15分)本题要求编写程序,计算两个有理数的和。输入格式输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。输出格式在一行中按照a/b的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。输入样例11/3 1/6输出样例11/2输入样例24/3 2/3输出样例22代码#include<stdio.h>int main(void){ int x1,原创 2021-01-15 16:48:45 · 3601 阅读 · 4 评论 -
人民币兑换 (15分)(PTA)
人民币兑换1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,会有很多种兑换方案。请编写程序给出各种兑换方案。输入格式输入为一个正整数n,表示要求输出前n种可能的方案。方案的顺序,是按照5分硬币从少到多排列的。输出格式显示前n种方案中5分、2分、1分硬币各多少枚。每行显示一种方案,数字之间空一格,最后一个数字后没有空格。注意:如果全部方案不到n种,就顺序输出全部可能的方案。输入样例5输出样例1 46 53 2 42 56 3 38 59 4 34原创 2021-01-15 16:42:36 · 2882 阅读 · 2 评论 -
单词加密解析 (15分)(PTA)
单词加密解析输入一个英文单词(由六个小写英文字母组成),按照下列过程将该单词加密:先将英文单词中的小写字母转换为对应的大写字母,再将该大写字母的ASCII码对10整除后取其余数,从而得到一个六位整数密码。输入格式输入在一行中给出1个由六个小写英文字母组成的英文单词。输出格式按照规则转换成一个六位整数密码,并输出转换的过程。输入样例friday输出样例f->F->0r->R->2i->I->3d->D->8a->A-&g原创 2021-01-15 16:37:55 · 2002 阅读 · 0 评论 -
字符串逆序 (15分)(PTA)
字符串逆序输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。输入格式输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式在一行中输出逆序后的字符串。输入样例Hello World!输出样例!dlroW olleH代码#include<stdio.h>int main (){ int i, k; char line [80]; k=0; while ((line[k]=getchar())!='\n') k++; l原创 2021-01-15 13:38:16 · 2273 阅读 · 0 评论 -
A除以B (10分)(PTA)
A除以B真的是简单题哈 —— 给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。输入格式输入在第一行给出两个整数A和B(−100≤A,B≤100),数字间以空格分隔。输出格式在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error。输出的商应保留小数点后2位。输入样例1-1 2输出样例1-1/2=-0.50输入样例21 -3输出样例21/(-3)=-0.33原创 2021-01-13 15:00:43 · 1035 阅读 · 3 评论 -
谁是赢家 (15分)(PTA)
谁是赢家?某电视台的娱乐节目有个表演评审环节,每次安排两位艺人表演,他们的胜负由观众投票和 3 名评委投票两部分共同决定。规则为:如果一位艺人的观众票数高,且得到至少 1 名评委的认可,该艺人就胜出;或艺人的观众票数低,但得到全部评委的认可,也可以胜出。节目保证投票的观众人数为奇数,所以不存在平票的情况。本题就请你用程序判断谁是赢家。输入格式输入第一行给出 2 个不超过 1000 的正整数 Pa 和 Pb,分别是艺人 a 和艺人 b 得到的观众票数。题目保证这两个数字不相等。随后第二行给出 3 名评原创 2021-01-13 14:56:52 · 758 阅读 · 0 评论 -
数组中能被5整除的数的和 (10分)(PTA)
数组中能被5整除的数的和在一维数组中有10个整数,求出其中能被5整除的所有数的和。输入格式在一行中输入10个整数,数据之间用1个空格间隔。输出格式直接输出运算结果,没有任何附加字符。输入样例5 6 8 15 98 45 71 2 3 1输出样例65代码#include<stdio.h>int main (void){ int i, sum=0; int a[10]; for (i=0; i<10;i++) scanf (原创 2021-01-13 14:52:53 · 2451 阅读 · 0 评论 -
数组中插入一个数 (10分)(PTA)
数组中插入一个数在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列,已知升序数组{1, 2, 4, 6, 8, 9, 12, 15, 149, 156 }。输入格式直接输入一个整数,没有其它任何附加字符。。输出格式输出插入元素后的升序数列,每个数输出占5列。输入样例5输出样例 1 2 4 5 6 8 9 12 15 149 156代码#include<stdio.h>int main ()原创 2021-01-13 14:51:03 · 2982 阅读 · 0 评论 -
数组元素的删除 (10分)(PTA)
数组元素的删除完成数组元素的移动功能:假设数组有n个元素,输入一个数x,把数组的第x个位置的元素删除了,后面的元素依次前进一个位置。 重复若干次这样的删除,得到最后的结果。输入格式第一行包括一个整数n(1<=n<=100),表示数组元素的个数。 第二行输入n个数组元素,均为整数,用空格隔开。 第三行输入一个数k(1<=k<=100),表示要进行k次删除。 接下来k行,每行一个数x,表示要删除第x个元素。输出格式输出经过k次删除后的数组,每两个元素之间用空格隔开。输原创 2021-01-13 14:48:06 · 3514 阅读 · 1 评论 -
找出不是两个数组共有的元素 (15分)(PTA)
找出不是两个数组共有的元素给定两个整型数组,本题要求找出不是两者共有的元素。输入格式输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。输出格式在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。输入样例10 3 -5 2 8 0 3 5 -15 9 10011 6 4 8 2 6 -5 9 0 100 8 1输出样例3 5 -15 6 4原创 2021-01-13 14:45:48 · 555 阅读 · 0 评论 -
将数组中的数逆序存放 (15分)(PTA)
将数组中的数逆序存放本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。输入格式输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。输出格式在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。输入样例410 8 1 2输出样例2 1 8 10代码#include<stdio.h>int main (){ int i, j, n, x; int a[原创 2021-01-13 14:43:32 · 2468 阅读 · 0 评论 -
求最大值及其下标 (15分)(PTA)
求最大值及其下标本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。输入格式输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。输出格式在一行中输出最大值及最大值的最小下标,中间用一个空格分开。输入样例62 8 10 1 9 10输出样例10 2代码#include<stdio.h>int main (){ int i, n, j, max, x; int a[10]; scanf ("原创 2021-01-13 14:41:12 · 647 阅读 · 0 评论 -
数组中能被5整除的数的和(10分)(PTA)
数组中能被5整除的数的和在一维数组中有10个整数,求出其中能被5整除的所有数的和。输入格式在一行中输入10个整数,数据之间用1个空格间隔。输出格式直接输出运算结果,没有任何附加字符。输入样例5 6 8 15 98 45 71 2 3 1输出样例65代码#include<stdio.h>int main (void){ int i, sum=0; int a[10]; for (i=0; i<10;i++) scanf (原创 2021-01-13 14:38:55 · 1813 阅读 · 1 评论 -
摘苹果 (15分)(PTA)
摘苹果陶陶家的院子里有一棵苹果树,每到秋天树上就会结出很多苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知每个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。输入格式包括三行数据。 第一行是一个整数n,表示有n个苹果。苹果至少有一个,不超过1000个。 第二行包含n个100到200之间(包括100和200)的整数(以厘米为单位)分别原创 2021-01-13 14:35:01 · 1763 阅读 · 0 评论 -
统计字符 (15分)(PTA)
统计字符本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。输入格式输入为10个字符。最后一个回车表示输入结束,不算在内。输出格式在一行内按照:letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数输入样例aZ &09 Az输出样例letter = 4, blank = 3, digit = 2, other = 1代码#include<stdio.原创 2021-01-12 17:13:10 · 981 阅读 · 0 评论 -
统计学生成绩 (15分)(PTA)
出租车计价本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小于60为E。输入格式输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。输出格式在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。输入样例777 54 92原创 2021-01-12 17:06:45 · 1337 阅读 · 0 评论 -
出租车计价(15分)(PTA)
出租车计价本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:起步里程为3公里,起步费10元;超起步里程后10公里内,每公里2元;超过10公里以上的部分加收50%的回空补贴费,即每 公里3元;营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5 分钟则不收费)。输入格式输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。输出格式在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保原创 2021-01-12 17:01:12 · 716 阅读 · 0 评论 -
高速公路超速处罚 15分 (PTA)
高速公路超速处罚按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。输入格式输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。输出格式在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。其中x是超速的百分比,精确到原创 2021-01-12 16:50:54 · 2062 阅读 · 1 评论 -
计算火车运行时间(PTA)
计算火车运行时间本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。输入格式输入在一行中给出2个4位正整数,其间以空格分隔,在这里插入代码片分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。输出格式在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。输入样例1201 1530输出样例03:29代码#include<stdio.h&g原创 2021-01-12 16:43:22 · 4825 阅读 · 1 评论 -
输出闰年(PTA)
7-1 输出闰年输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。输入格式输入在一行中给出21世纪的某个截止年份。输出格式逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。输入样例12000输出样例1Invalid year!输入样例22048输出样例2200420082012201620原创 2021-01-11 16:14:30 · 1044 阅读 · 0 评论 -
数字金字塔(PTA)
数字金字塔本题要求实现函数输出n行数字金字塔。函数接口定义void pyramid( int n );其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注意每个数字后面跟一个空格。裁判测试程序样例#include <stdio.h>void pyramid( int n );int main(){ int n; scanf("%d", &n); pyramid(n); r原创 2021-01-11 15:56:50 · 529 阅读 · 0 评论 -
打印菱形图案(PTA)
打印菱形图案本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。标题输入格式输入在一行中给出一个正的奇数n。输出格式输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。输入样例7输出样例 * * * * * * * * * * * * * * * * * * * * * * * * * 代码#include<stdio.h>int main(void) { int原创 2021-01-11 15:47:31 · 6951 阅读 · 0 评论 -
韩信点兵(PTA)
韩信点兵在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:按从1至5报数,记下最末一个士兵报的数为1;再按从1至6报数,记下最末一个士兵报的数为5;再按从1至7报数,记下最末一个士兵报的数为4;最后按从1至11报数,最末一个士兵报的数为10;请编写程序计算韩信至少有多少兵?输入格式本题无输入输出格式输出原创 2021-01-11 15:35:17 · 1221 阅读 · 0 评论 -
是不是太胖了?(5分) PTA
你是不是太胖了? 据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)输入格式:输入第一行给出一个正整数H(100 < H ≤ 300),为某人身高。输出格式:在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。输入样例:169输出样例:124.2代码:#include<stdio.h>int main (原创 2021-01-11 14:53:04 · 2104 阅读 · 0 评论