PTA题目
茶然o
这个作者很懒,什么都没留下…
展开
-
【PTA题目】7-1 Hello World! (5 分)
本题要求编写程序,输出一个短句“Hello World!”。输入格式:本题目没有输入。输出格式:在一行中输出短句“Hello World!”。#include<stdio.h>int main(void){ printf("Hello World!"); return 0;}...原创 2021-10-25 16:19:51 · 1481 阅读 · 0 评论 -
【PTA题目】7-10 字符串转换成十进制整数 (15 分)
输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。输入格式:输入在一行中给出一个以#结束的非空字符串。输出格式:在一行中输出转换后的十进制数。题目保证输出在长整型范围内。输入样例:+-P-xf4+-1!#结尾无空行输出样例:-3905结尾无空行#include<stdio.h>int main原创 2021-11-06 13:32:14 · 619 阅读 · 0 评论 -
【PTA题目】7-9 统计大写辅音字母 (15 分)
英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出字符串中大写辅音字母的个数。输入样例:HELLO World!结尾无空行输出样例:4结尾无空行#include<stdio.h>int main(){ int count=0; char a[80]; for(int i=0;i原创 2021-11-06 13:32:07 · 2150 阅读 · 0 评论 -
【PTA题目】7-8 删除重复字符 (20 分)
本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。输入格式:输入是一个以回车结束的非空字符串(少于80个字符)。输出格式:输出去重排序后的结果字符串。输入样例:ad2f3adjfeainzzzv结尾无空行输出样例:23adefijnvz结尾无空行#include<stdio.h>#include<math.h>int main(){ char i; int str[130]={};原创 2021-11-06 13:31:59 · 281 阅读 · 2 评论 -
【PTA题目】7-7 字符串替换 (15 分)
本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:原字母 对应字母 A Z B Y C X D W … … X C Y B Z A 输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出替换完成后的字符串。输入样例:Only the 11 CAPItaL LeTtERS are replaced.结尾无空行输出样例:Lnl原创 2021-11-05 09:24:05 · 254 阅读 · 0 评论 -
【PTA题目】7-6 字符转换 (15 分)
本题要求提取一个字符串中的所有数字字符('0'……'9'),将其转换为一个整数输出。输入格式:输入在一行中给出一个不超过80个字符且以回车结束的字符串。输出格式:在一行中输出转换后的整数。题目保证输出不超过长整型范围。输入样例:free82jeep5结尾无空行输出样例:825结尾无空行#include<stdio.h>int main(void) { int i = 0; long number = 0; char str[81]; g原创 2021-11-05 09:23:59 · 2671 阅读 · 0 评论 -
【PTA题目】7-5 查找指定字符 (15 分)
本题要求编写程序,从给定字符串中查找某指定的字符。输入格式:输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。输出格式:如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。输入样例1:mprogramming结尾无空行输出样例1:index = 7结尾无空行输入样例2:a1234输出样例2:Not Found#in原创 2021-11-05 09:23:54 · 712 阅读 · 0 评论 -
【PTA题目】7-4 输出大写英文字母 (15 分)
本题要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“Not Found”。输入格式:输入为一个以回车结束的字符串(少于80个字符)。输出格式:按照输入的顺序在一行中输出所出现过的大写英文字母,每个字母只输出一遍。若无大写英文字母则输出“Not Found”。输入样例1:FONTNAME and FILENAME结尾无空行输出样例1:FONTAMEIL结尾无空行输入样例2:fontname and fi原创 2021-11-05 09:23:49 · 2477 阅读 · 0 评论 -
【PTA题目】7-3 统计字符出现次数 (20 分)
本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数。输入格式:输入第一行给出一个以回车结束的字符串(少于80个字符);第二行输入一个字符。输出格式:在一行中输出给定字符在给定字符串中出现的次数。输入样例:programming is More fun!m结尾无空行输出样例:2结尾无空行#include<stdio.h>#include<string.h>int main(void){ int i, len = 0原创 2021-11-05 09:23:44 · 1560 阅读 · 0 评论 -
【PTA题目】7-2 字符串字母大小写转换 (15 分)
本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。输入格式:输入为一个以“#”结束的字符串(不超过30个字符)。输出格式:在一行中输出大小写转换后的结果字符串。输入样例:Hello World! 123#结尾无空行输出样例:hELLO wORLD! 123结尾无空行#include<stdio.h>#include<string.h>#include<原创 2021-11-05 09:23:40 · 1479 阅读 · 0 评论 -
【PTA题目】7-1 字符串逆序 (15 分)
输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:在一行中输出逆序后的字符串。输入样例:Hello World!结尾无空行输出样例:!dlroW olleH结尾无空行#include <stdio.h>#include <string.h>int main(int argc, char *argv[]){ int a;char b[1原创 2021-11-05 09:23:35 · 1577 阅读 · 0 评论 -
【PTA题目】7-9 螺旋方阵 (20 分)
所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。输入格式:输入在一行中给出一个正整数N(<10)。输出格式:输出N×N的螺旋方阵。每行N个数字,每个数字占3位。输入样例:5结尾无空行输出样例: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9结尾无空行原创 2021-11-05 09:23:30 · 332 阅读 · 0 评论 -
【PTA题目】7-8 求矩阵的局部极大值 (15 分)
给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。输入格式:输入在第一行中给出矩阵A的行数M和列数N(3≤M,N≤20);最后M行,每行给出A在该行的N个元素的值。数字间以空格分隔。输出格式:每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极大值,则该行按列号递增输出。若没有局部极大值,则输原创 2021-11-05 09:23:23 · 532 阅读 · 0 评论 -
【PTA题目】7-7 方阵循环右移 (20 分)
本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。输入格式:输入第一行给出两个正整数m和n(1≤n≤6)。接下来一共n行,每行n个整数,表示一个n阶的方阵。输出格式:按照输入格式输出移动后的方阵:即输出n行,每行n个整数,每个整数后输出一个空格。输入样例:2 31 2 34 5 67 8 9结尾无空行输出样例:2 3 1 5 6 4 8 9 7 结原创 2021-11-05 09:23:14 · 319 阅读 · 0 评论 -
【PTA题目】7-6 计算天数 (15 分)
本题要求编写程序计算某年某月某日是该年中的第几天。输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。输出格式:在一行输出日期是该年中的第几天。输入样例1:2009/03/02结尾无空行输出样例1:61结尾无空行输入样例2:2000/03/02输出样例2:62#include <stdio.h>原创 2021-11-04 16:18:24 · 1519 阅读 · 0 评论 -
【PTA题目】7-5 矩阵运算 (20 分)
给定一个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&g原创 2021-11-04 16:17:45 · 495 阅读 · 0 评论 -
【PTA题目】7-4 判断上三角矩阵 (15 分)
上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。输入格式:输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。输出格式:每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”,否则输出“NO”。输入样例:331 2 30 4 50 0 621 0-8原创 2021-11-04 16:17:03 · 865 阅读 · 0 评论 -
【PTA题目】7-3 找鞍点 (20 分)
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。输入样例1:41 7 4 14 8 3 61 6 1 20 7 8 9结尾无空行输出样例1:2原创 2021-11-04 16:16:25 · 3111 阅读 · 0 评论 -
【PTA题目】7-2 打印杨辉三角 (20 分)
本题要求按照规定格式打印前N行杨辉三角。输入格式:输入在一行中给出N(1≤N≤10)。输出格式:以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。输入样例:6结尾无空行输出样例: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1结尾无空行#include<stdio.h>int ma原创 2021-11-04 16:15:35 · 3357 阅读 · 0 评论 -
【PTA题目】7-1 求矩阵各行元素之和 (15 分)
本题要求编写程序,求一个给定的m×n矩阵各行元素之和。输入格式:输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间以空格分隔。输出格式:每行输出对应矩阵行元素之和。输入样例:3 26 31 -83 12结尾无空行输出样例:9-715结尾无空行#include <stdio.h>int main(){ int m,n,i,j,k; scanf("%d %d",&m,&n);原创 2021-11-04 16:14:53 · 1237 阅读 · 0 评论 -
【PTA题目】7-10 求最大值及其下标 (20 分)
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。输入格式:输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出最大值及最大值的最小下标,中间用一个空格分开。输入样例:62 8 10 1 9 10结尾无空行输出样例:10 2结尾无空行#include <stdio.h>int main(void){ int n,i; scanf("%d",&原创 2021-11-04 13:07:34 · 1054 阅读 · 0 评论 -
【PTA题目】7-9 求整数序列中出现次数最多的数 (15 分)
本题要求统计一个整型序列中出现次数最多的整数及其出现次数。输入格式:输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。输出格式:在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。输入样例:10 3 2 -1 5 3 4 3 0 3 2结尾无空行输出样例:3 4结尾无空行#include<stdio.h>int main(void){ int i,n;原创 2021-11-04 13:07:30 · 1217 阅读 · 2 评论 -
【PTA题目】7-8 找出不是两个数组共有的元素 (20 分)
给定两个整型数组,本题要求找出不是两者共有的元素。输入格式:输入分别在两行中给出两个整型数组,每行先给出正整数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原创 2021-11-04 13:07:24 · 862 阅读 · 0 评论 -
【PTA题目】7-7 输出数组元素 (15 分)
本题要求编写程序,对顺序读入的n个整数,顺次计算后项减前项之差,并按每行三个元素的格式输出结果。输入格式:输入的第一行给出正整数n(1<n≤10)。随后一行给出n个整数,其间以空格分隔。输出格式:顺次计算后项减前项之差,并按每行三个元素的格式输出结果。数字间空一格,行末不得有多余空格。输入样例:105 1 7 14 6 36 4 28 50 100结尾无空行输出样例:-4 6 7-8 30 -3224 22 50结尾无空行#include<原创 2021-11-04 13:07:17 · 574 阅读 · 0 评论 -
【PTA题目】7-6 求一批整数中出现最多的个位数字 (20 分)
给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。输入格式:输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。输出格式:在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小到大的顺序排列。数字间以空格分隔,但末尾不得有多余空格。输入样例:31234 2345原创 2021-11-03 00:02:38 · 6799 阅读 · 3 评论 -
【PTA题目】7-5 简化的插入排序 (15 分)
本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。输入格式:输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。输出格式:在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。输入样例:51 2 4 5 73结尾无空行输出样例:1 2 3 4 5 7 结尾无空行#include <stdio.h>int main(void){ int原创 2021-11-03 00:02:30 · 767 阅读 · 0 评论 -
【PTA题目】7-4 交换最小值和最大值 (15 分)
本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。注意:题目保证最大和最小值都是唯一的。输入格式:输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。输出格式:在一行中顺序输出交换后的序列,每个整数后跟一个空格。输入样例:58 2 5 1 4结尾无空行输出样例:1 2 5 4 8 结尾无空行#include<stdio.h>int main(vo原创 2021-11-03 00:02:24 · 1821 阅读 · 0 评论 -
【PTA题目】7-3 选择法排序 (20 分)
本题要求将给定的n个整数从大到小排序后输出。输入格式:输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。输出格式:在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。输入样例:45 1 7 6结尾无空行输出样例:7 6 5 1结尾无空行#include <stdio.h>#include <string.h>int main(void){ int a[10]; int n,i,原创 2021-11-03 00:02:17 · 3470 阅读 · 0 评论 -
【PTA题目】7-2 将数组中的数逆序存放 (20 分)
本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。输入格式:输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。输入样例:410 8 1 2结尾无空行输出样例:2 1 8 10结尾无空行#include<stdio.h>int main(void){ int n,i;原创 2021-11-03 00:02:10 · 750 阅读 · 0 评论 -
【PTA题目】7-1 查找整数 (10 分)
本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。输入格式:输入在第一行中给出两个正整数N(≤20)和X,第二行给出N个整数。数字均不超过长整型,其间以空格分隔。输出格式:在一行中输出X的位置,或者“Not Found”。输入样例1:5 73 5 7 1 9结尾无空行输出样例1:2结尾无空行输入样例2:5 73 5 8 1 9输出样例2:Not Found#incl原创 2021-11-03 00:02:01 · 1189 阅读 · 0 评论 -
【PTA题目】7-2 计算分段函数[2] (10 分)
本题目要求计算下列分段函数f(x)的值:注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。输入格式:输入在一行中给出实数x。输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。输入样例1:10结尾无空行输出样例1:f(10.00) = 3.16结尾无空行输入样例2:-0.5输出样例2:f(-0.50) = -2.75#include<stdio.h原创 2021-10-28 16:22:38 · 1453 阅读 · 0 评论 -
【PTA题目】7-10 求解简单的四则运算表达式 (10 分)
输入一个四则运算表达式,输出运算结果,要求对除数为0的情况作特别处理。题目保证输入与输出均在双精度范围内。输入格式:输入在一行中依次输入操作数1、运算符、操作数2,其间没有空格,操作数的数据类型为实型。输出格式:在一行中输出表达式的运算结果,保留两位小数。如果除法分母为0,则输出错误信息“Divisor can not be 0!”;如果输入了除加减乘除以外的非法运算符,则输出错误信息“Unknown operator!”。输入样例1:3.1+4.8结尾无空行输出样例1原创 2021-10-28 16:22:31 · 3354 阅读 · 0 评论 -
【PTA题目】7-9 两个数的简单计算器 (10 分)
本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。输入格式:输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。输出格式:当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。输入样例1:-7 / 2结尾无空行输出样例1:-3结尾原创 2021-10-28 16:22:23 · 369 阅读 · 0 评论 -
【PTA题目】7-8 整数四则运算 (10 分)
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。输入格式:输入在一行中给出2个正整数A和B。输出格式:在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。输入样例:3 2结尾无空行输出样例:3 + 2 = 53 - 2 = 13 * 2 = 63 / 2 = 1#include<stdio.h>int main(void){ int x,y; scanf("%d%d原创 2021-10-28 16:22:15 · 309 阅读 · 0 评论 -
【PTA题目】7-7 分段计算居民水费 (10 分)
为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x−17.5。请编写程序实现水费的计算。输入格式:输入在一行中给出非负实数x。输出格式:在一行输出应交的水费,精确到小数点后2位。输入样例1:12结尾无空行输出样例1:16.00结尾无空行输入样例2:16输出样例2:22.50#include<stdio.h>int ma原创 2021-10-28 16:22:07 · 1038 阅读 · 0 评论 -
【PTA题目】7-6 计算存款利息 (10 分)
本题目要求计算存款利息,计算公式为interest=money×(1+rate)year−money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。输入格式:输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。输出格式:在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。输入样例:1000 3 0.025结尾无空行输出样例:interest = 76.89# i原创 2021-10-28 16:21:48 · 1222 阅读 · 0 评论 -
【PTA题目】7-5 阶梯电价 (15 分)
为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。输入格式:输入在一行中给出某用户的月用电量(单位:千瓦时)。输出格式:在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出"Invalid Value!"。输入样例1:10原创 2021-10-28 16:21:40 · 1594 阅读 · 0 评论 -
【PTA题目】7-4 比较大小 (10 分)
本题要求将输入的任意3个整数从小到大输出。输入格式:输入在一行中给出3个整数,其间以空格分隔。输出格式:在一行中将3个整数从小到大输出,其间以“->”相连。输入样例:4 2 8结尾无空行输出样例:2->4->8#include <stdio.h>int main(void){ int a,b,c,t; scanf("%d %d %d",&a,&b,&c); if(a>b)原创 2021-10-28 16:21:34 · 878 阅读 · 0 评论 -
【PTA题目】7-3 计算分段函数[3] (10 分)
本题目要求计算下列分段函数f(x)的值:输入格式:输入在一行中给出实数x。输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。输入样例1:10结尾无空行输出样例1:f(10.0) = 0.1结尾无空行输入样例2:234输出样例2:f(234.0) = 234.0#include<stdio.h>int main(void){ float x, y; scan原创 2021-10-28 16:21:27 · 5765 阅读 · 0 评论 -
【PTA题目】7-1 计算分段函数[1] (10 分)
本题目要求计算下列分段函数f(x)的值:输入格式:输入在一行中给出实数x。输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。输入样例1:10结尾无空行输出样例1:f(10.0) = 0.1结尾无空行输入样例2:0输出样例2:f(0.0) = 0.0#include<stdio.h>int main(void){ float x, y; scanf("%f"原创 2021-10-27 23:28:34 · 938 阅读 · 0 评论