pta-c语言
Len1Mi
知其黑,守其白
展开
-
pta两个数的简单计算器
本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。输入格式:输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。输出格式:当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。输入样例1:-7 / 2输出样例1:-3输入样例2:3 &原创 2022-01-18 08:24:23 · 532 阅读 · 2 评论 -
pta统计英文字母和数字字符
本题要求编写程序,输入N个字符,统计其中英文字母、数字字符和其他字符的个数。输入格式:输入在第一行中给出正整数N,第二行输入N个字符,最后一个回车表示输入结束,不算在内。输出格式:在一行内按照letter = 英文字母个数, digit = 数字字符个数, other = 其他字符个数的格式输出。请注意,等号的左右各有一个空格,逗号后有一个空格。输入样例:在这里给出一组输入。例如:10aZ &09 Az输出样例:在这里给出相应的输出。例如:letter = 4,原创 2022-01-18 08:24:56 · 1170 阅读 · 0 评论 -
pta统计一个整数的位数
本题要求编写程序,对于给定的整数N,求它的位数。输入格式:输入在一行中给出一个绝对值不超过10 ^ 9的整数N。输出格式:在一行中输出N的位数。输入样例1:12534输出样例1:5输入样例2:-987600321输出样例2:9输入样例3:0输出样例3:1#include <stdio.h>int number, count = 0;int main(){ scanf("%d", &number);原创 2022-01-18 08:23:52 · 7892 阅读 · 0 评论 -
pta求解简单的四则运算表达式
输入一个四则运算表达式,输出运算结果,要求对除数为0的情况作特别处理。题目保证输入与输出均在双精度范围内。输入格式:输入在一行中依次输入操作数1、运算符、操作数2,其间没有空格,操作数的数据类型为实型。输出格式:在一行中输出表达式的运算结果,保留两位小数。如果除法分母为0,则输出错误信息“Divisor can not be 0!”;如果输入了除加减乘除以外的非法运算符,则输出错误信息“Unknown operator!”。输入样例1:3.1+4.8输出样例1:7.90输入样例2原创 2022-01-18 08:25:25 · 2502 阅读 · 2 评论 -
pta统计指定数量学生的平均成绩与不及格人数
本题要求编写程序,计算学生们的平均成绩,并统计不及格(成绩低于60分)的人数。题目保证输入与输出均在双精度范围内。输入格式:输入在第一行中给出非负整数n,即学生人数。第二行给出n个非负实数,即这n位学生的成绩,其间以空格分隔。输出格式:average = 成绩均值count = 不及格人数其中平均值精确到小数点后两位,等号的左右各有一个空格。输入样例1:460 54 95 73输出样例1:average = 70.50count = 1输入样例2:0输出样例2:原创 2022-01-18 08:29:13 · 1311 阅读 · 0 评论 -
pta求一元二次方程的根
本题目要求一元二次方程ax ^ 2+bx+c=0的根,结果保留2位小数。输入格式:输入在一行中给出3个浮点系数a、b、c,中间用空格分开。输出格式:根据系数情况,输出不同结果:1)如果方程有两个不相等的实数根,则每行输出一个根,先大后小;2)如果方程有两个不相等复数根,则每行按照格式“实部+虚部i”输出一个根,先输出虚部为正的,后输出虚部为负的;3)如果方程只有一个根,则直接输出此根;4)如果系数都为0,则输出"Zero Equation";5)如果a和b为0,c不为0,则输出"Not A原创 2022-01-18 08:28:40 · 1163 阅读 · 0 评论 -
pta计算天数
本题要求编写程序计算某年某月某日是该年中的第几天。输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。输出格式:在一行输出日期是该年中的第几天。输入样例1:2009/03/02输出样例1:61输入样例2:2000/03/02输出样例2:62#include <stdio.h>int yyyy, mm, dd;int n原创 2022-01-18 08:28:04 · 454 阅读 · 0 评论 -
pta奇偶分家
给定N个正整数,请统计奇数和偶数各有多少个?输入格式:输入第一行给出一个正整N(≤1000);第2行给出N个非负整数,以空格分隔。输出格式:在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。输入样例:988 74 101 26 15 0 34 22 77输出样例:3 6#include <stdio.h>int n;int num;int ji = 0, ou = 0;int main(){ scanf("%d", &n);原创 2022-01-18 08:26:55 · 486 阅读 · 0 评论 -
pta查询自动售货机中商品的价格
给定四种商品,分别是薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可乐(cola),单价分别对应为3.0元/公斤、2.5元/公斤、4.0元/公斤、3.5元/份。首先在屏幕上显示以下菜单:[1] crisps[2] popcorn[3] chocolate[4] cola[0] exit用户可以输入编号1~4查询对应食品的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0。输入格式:输入在一行中给出用原创 2022-01-17 08:47:56 · 2762 阅读 · 0 评论 -
pta判断一个整数是否为素数
本题要求编写程序,判断一个给定的整数是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。输入格式:输入在一行中给出一个需要判断的整数 M(−2 ^ 31 ≤ M ≤ 2 ^ 31 −1)。输出格式:如果M是素数,则在一行中输出Yes,否则输出No。如果输入了非正整数,也要输出No。输入样例1:11输出样例1:Yes输入样例2:9输出样例2:No输入样例3:-2输出样例3:No#include <stdio.h>#inc原创 2022-01-17 08:47:20 · 1534 阅读 · 0 评论 -
pta用格里高利公式求给定精度的PI值
本题要求编写程序,计算序列部分和4∗(1−1/3+1/5−1/7+…) ,直到最后一项的绝对值小于给定精度eps。输入格式:输入在一行中给出一个正实数eps。输出格式:在一行中按照“Pi = pi”的格式输出部分和的值pi,精确到小数点后四位。题目保证输入数据和计算结果均不超过双精度范围。输入样例1:0.0001输出样例1:Pi = 3.1418输入样例2:0.2输出样例2:Pi = 2.8952#include <stdio.h>double ep原创 2022-01-17 08:47:02 · 594 阅读 · 0 评论 -
pta逆序输出一个整数的各位数字
本题要求编写程序,对输入的一个非负整数,从低位开始逐位分割并输出它的各位数字。输入格式:输入在一行中给出一个长整型范围内的非负整数。输出格式:从低位开始逐位输出该整数的各位数字,每个数字后面有一个空格。输入样例:1234560输出样例:0 6 5 4 3 2 1#include <stdio.h>int x;int i;int main(){ scanf("%d", &x); do { i = x % 10; printf("%d原创 2022-01-17 08:46:27 · 2157 阅读 · 1 评论 -
pta输出2到n之间的全部素数
本题要求输出2到n之间的全部素数,每行输出10个。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。输入格式:输入在一行中给出一个长整型范围内的整数。输出格式:输出素数,每个数占6位,每行输出10个。如果最后一行输出的素数个数不到10个,也需要换行。输入样例:10输出样例: 2 3 5 7#include <stdio.h>#include <math.h>int m, i, j;int count =原创 2022-01-17 08:46:05 · 2011 阅读 · 0 评论 -
pta输出前 n 个Fibonacci数
本题要求编写程序,输出菲波那契(Fibonacci)数列的前N项,每行输出5个,题目保证输出结果在长整型范围内。Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,例如:1,1,2,3,5,8,13,…。输入格式:输入在一行中给出一个整数N(1≤N≤46)。输出格式:输出前N个Fibonacci数,每个数占11位,每行输出5个。如果最后一行输出的个数不到5个,也需要换行。如果N小于1,则输出"Invalid."输入样例1:7输出样例1: 1原创 2022-01-17 08:45:42 · 321 阅读 · 0 评论 -
pta穷举问题-搬砖
某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。如果想用n人正好搬n块砖,问有多少种搬法?输入格式:输入在一行中给出一个正整数n。输出格式:输出在每一行显示一种方案,按照"men = cnt_m, women = cnt_w, child = cnt_c"的格式,输出男人的数量cnt_m,女人的数量cnt_w,小孩的数量cnt_c。请注意,等号的两侧各有一个空格,逗号的后面也有一个空格。如果找不到符合条件的方案,则输出"None"输入样例:45输出样例:men原创 2022-01-17 08:45:01 · 1659 阅读 · 2 评论 -
pta求奇数和
本题要求计算给定的一系列正整数中奇数的和。输入格式:输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。输出格式:在一行中输出正整数序列中奇数的和。输入样例:8 7 4 3 70 5 6 101 -1输出样例:116#include <stdio.h>int number, sum = 0;int main(){ do { scanf("%d", &number);原创 2022-01-17 08:44:33 · 956 阅读 · 0 评论 -
pta求给定精度的简单交错序列部分和
本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + … 直到最后一项的绝对值不大于给定精度eps。输入格式:输入在一行中给出一个正实数eps。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。输入样例1:4E-2输出样例1:sum = 0.854457输入样例2:0.02输出样例2:sum = 0.826310#include <stdio.h>doubl原创 2022-01-17 08:44:03 · 353 阅读 · 0 评论 -
pta最大公约数和最小公倍数
本题要求两个给定正整数的最大公约数和最小公倍数。输入格式:输入在一行中给出两个正整数M和N(≤1000)。输出格式:在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。输入样例:511 292输出样例:73 2044#include <stdio.h>int m, n;int max, min;int a;int main(){ scanf("%d %d", &m, &n); a原创 2022-01-17 08:42:41 · 454 阅读 · 0 评论 -
pta成绩转换
本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小于60为E。输入格式:输入在一行中给出一个整数的百分制成绩。输出格式:在一行中输出对应的五分制成绩。输入样例:90输出样例:A#include <stdio.h>int grade;int initial;int main(){ scanf("%d", &grade原创 2022-01-18 08:26:18 · 366 阅读 · 0 评论 -
pta最大值最小值
键盘输入三个整数,要求输出其最大值和最小值。输入格式:键盘输入只有一行,即三个整数,每个整数之间一个空格。输出格式:用一行输出最大值和最小值,之间用一个空格隔开。输入样例:10 15 14输出样例:在这里给出相应的输出。例如:15 10#include <stdio.h>int a, b, c;int max, min;int main(){ scanf("%d %d %d", &a, &b, &c); max =原创 2022-01-18 08:27:30 · 1039 阅读 · 0 评论 -
pta是否是3位数
输入一个正整数,若其为3位数,则输出yes,否则输出no。输入格式:直接输入1个正整数,没有其他任何附加字符。输出格式:直接输出yes或no,没有其他任何附加字符。输入样例:132输出样例:yes输入样例:1234输出样例:no#include <stdio.h>int num;int main(){ scanf("%d", &num); int i; i = 0; while (num > 0)原创 2022-01-13 11:09:02 · 257 阅读 · 2 评论 -
pta比较大小
本题要求将输入的任意3个整数从小到大输出。输入格式:输入在一行中给出3个整数,其间以空格分隔。输出格式:在一行中将3个整数从小到大输出,其间以“->”相连。输入样例:4 2 8输出样例:2->4->8#include <stdio.h>int a, b, c;int max, box, min;int main(){ scanf("%d %d %d", &a, &b, &c); max = a;原创 2022-01-13 11:07:32 · 723 阅读 · 0 评论 -
pta输出三角形面积和周长
本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=sqrt(s(s−a)(s−b)(s−c)),其中s=(a+b+c)/2。输入格式:输入为3个正整数,分别代表三角形的3条边a、b、c。输出格式:如果输入的边能构成一个三角形,则在一行内,按照area = 面积; perimeter = 周长的格式输出,保留两位小数。否则,输出These sides do not correspond原创 2022-01-13 11:03:10 · 780 阅读 · 0 评论 -
pta超速判断
模拟交通警察的雷达测速仪。输入汽车速度,如果速度超出60 mph,则显示“Speeding”,否则显示“OK”。输入格式:输入在一行中给出1个不超过500的非负整数,即雷达测到的车速。输出格式:在一行中输出测速仪显示结果,格式为:Speed: V - S,其中V是车速,S或者是Speeding、或者是OK。输入样例1:40输出样例1:Speed: 40 - OK输入样例2:75输出样例2:Speed: 75 - Speeding#include <stdio.原创 2022-01-13 11:00:24 · 3468 阅读 · 0 评论 -
pta计算火车运行时间
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。输入格式:输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。输出格式:在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。输入样例:1201 1530输出样例:03:29#include <stdio.h>#include <mat原创 2022-01-13 10:58:48 · 507 阅读 · 0 评论 -
pta三天打鱼两天晒网
中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?输入格式:输入在一行中给出一个不超过1000的正整数N。输出格式:在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。输入样例1:103输出样例1:Fishing in day 103输入样例2:34输出样例2:Drying in day 34#include <原创 2022-01-13 10:57:35 · 604 阅读 · 0 评论 -
pta数油桶
工人师傅将油桶码成如下图所示的梯形,数了数底层的油桶数和层数,就知道有多少油桶了。你知道他是怎么算的吗?输入格式底层油桶数和层数输出格式油桶的数量输入样例7 4输出样例22#include <stdio.h>int a, b;int sum;int main(){ scanf("%d %d", &a, &b); for (int i = 0; i < b; i++) { sum = a + s原创 2022-01-13 10:55:54 · 2103 阅读 · 12 评论 -
pta求整数均值
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。输入格式:输入在一行中给出4个整数,其间以空格分隔。输出格式:在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。输入样例:1 2 3 4输出样例:Sum = 10; Average = 2.5#include <stdio.h>int a, b, c, d;int sum;double average;int main原创 2022-01-13 10:53:19 · 251 阅读 · 0 评论 -
pta计算存款利息
本题目要求计算存款利息,计算公式为interest=money×(1+rate) ^ year − money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。输入格式:输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。输出格式:在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。输入样例:1000 3 0.025输出样例:interest = 76.89#include原创 2022-01-13 10:51:57 · 2712 阅读 · 0 评论 -
pta整数四则运算
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。输入格式:输入在一行中给出2个正整数A和B。输出格式:在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。输入样例:3 2输出样例:3 + 2 = 53 - 2 = 13 * 2 = 63 / 2 = 1#include <stdio.h>int a, b;int main(){ scanf("%d %d", &a, &b)原创 2022-01-13 10:50:00 · 584 阅读 · 0 评论 -
pta查找指定字符
pta查找指定字符本题要求编写程序,从给定字符串中查找某指定的字符。输入格式:输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。输出格式:如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。输入样例1:mprogramming结尾无空行输出样例1:index = 7结尾无空行输入样例2:a1234输出样例2:Not Found#incl原创 2021-12-18 15:16:01 · 889 阅读 · 0 评论 -
pta在数组中查找指定元素
pta在数组中查找指定元素输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个正整数 n (1<n<=10),然后输入n个整数存入数组a中,再输入一个整数x,在数组a中查找x,如果找到则输出相应元素的最小下标,否则输出"Not found"。要求定义并调用函数search(list, n, x),它的功能是在数组list中查找元素x,若找到则返回相应元素的最小下标,否则返回-1,函数形参 list 的类型是整型指针,形参n和x的类型是int原创 2021-12-18 14:50:15 · 3348 阅读 · 1 评论 -
pta选出最小值与第一个数据交换
pta选出最小值与第一个数据交换定义函数,处理一整数数组,选出最小值,交换到0号单元函数接口定义:void fun( int *a,int n );a是处理数据的首地址,n是处理数据的个数(0<n<20)裁判测试程序样例:在这里给出函数被调用进行测试的例子。例如:#include <stdio.h>void fun( int *a,int n );main(){int a[20],n,i; scanf("%d",&n); for(i=0;i<原创 2021-12-18 14:34:05 · 2517 阅读 · 1 评论 -
pta交换字符
pta6-4 交换字符请编写函数,交换两个字符。函数原型void ChrSwap(char *x, char *y);说明:x 和 y 为指示两个字符变量的指针,函数交换两个指针所指字符变量的值。裁判程序#include <stdio.h>void ChrSwap(char *x, char *y);int main(){ char a, b; scanf("%c %c", &a, &b); ChrSwap(&a, &am原创 2021-12-18 13:51:20 · 412 阅读 · 0 评论 -
pta顺序查找
pta顺序查找随机输入10个学生的学号(不超过int范围),在其中查找指定的学号,给出查找的结果信息,若找到则输出该学号的序号即元素的下标,否则输出"NOT FOUND!"。 要求:设计一个查找函数Search()完成查找过程。函数接口定义:函数接口:int Search(int *a,int k);其中 a 和 k 都是用户传入的参数。 函数返回数组 a 中 k 出现的位置(下标),如果没找到则返回-1。裁判测试程序样例:#include <stdio.h>原创 2021-12-18 13:48:08 · 1107 阅读 · 0 评论 -
pta电码加密
pta电码加密为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。要求编写并调用函数encrypt (),按要求修改字符串内容。变换规则如下:小写字母z变换成为a,其他字母变换成为该字母ASCII码顺序后一位的字母,比如o变换成为p。函数接口定义:void encrypt ( char *s);其中 s为字符串首地址。裁判测试程序样例:#include <stdio.h>#include <string.h>#define MAXLINE 80vo原创 2021-12-18 12:01:12 · 4493 阅读 · 2 评论 -
pta凯撒加密(后偏移)
pta凯撒加密(后偏移)为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个正整数offset,用凯撒密码将其加密后输出。恺撒密码是一种简单的替换加密技术,将明文中的所有字母都在字母表上向后偏移offset位后被替换成密文。 例如,当偏移量offset是2时,表示所有的字母被向后移动 2 位后的字母替换,即所有的字母 A 将被替换成C,字母 B 将变为 D,…,字母 X 变成 Z,字母 Y 则变为 A,字母 Z 变为 B。输原创 2021-12-12 16:06:31 · 3976 阅读 · 11 评论 -
pta查找整数
pta查找整数本题要求从输入的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#include原创 2021-12-01 19:46:02 · 1721 阅读 · 0 评论 -
pta输出数组元素
pta输出数组元素本题要求编写程序,对顺序读入的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-12-01 19:37:40 · 1615 阅读 · 0 评论 -
pta交换最小值和最大值
pta交换最小值和最大值本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。注意:题目保证最大和最小值都是唯一的。输入格式:输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。输出格式:在一行中顺序输出交换后的序列,每个整数后跟一个空格。输入样例:58 2 5 1 4结尾无空行输出样例:1 2 5 4 8结尾无空行#include<stdio.h>int main(原创 2021-11-30 21:00:46 · 12535 阅读 · 3 评论