- 博客(105)
- 收藏
- 关注
原创 在带头结点的单链表L中,删除所有值为x的节点,并释放其空间,假设值为x的 不唯一,编写算法实现以上操作(c语言实现)
在带头结点的单链表L中,删除所有值为x的节点,并释放其空间,假设值为x的不唯一,编写算法实现以上操作
2022-06-28 20:58:21
1434
2
原创 PTA 7-123 空心字母金字塔
输入一个大写的英文字母,输出空心的字母金字塔。输入格式:一个大写英文字母。输出格式:一个空心的大写英文字母金字塔,其中第1层的“A”在第1行的第40列,列从1开始计数。输入样例:E输出样例:#include <stdio.h>int main() { int n; char a; scanf("%c",&a); for(int i=1;i<=a-'A'+1;i++){ for(int j=1;j<=40-i;j++){
2022-05-12 17:18:12
325
原创 PTA 7-65 字符串替换
本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:原字母 对应字母A ZB YC XD W… …X CY BZ A输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出替换完成后的字符串。输入样例:Only the 11 CAPItaL LeTtERS are replaced.输出样例:Lnly the 11 XZKRtaO OeGtVIH are replaced.解题思路:本题关键就是如何把正序字母转为逆序字
2022-05-12 15:14:56
194
原创 PTA 7-138 质因子分解
本题目要求读入一个大于1的整数,编程将其分解成若干个质因子(素数因子)积的形式。输入格式:大于1的整数一个。输出格式:将输入的正整数分解成若干个质因子积的形式,质因子的出现顺序按从小到大排列。如:40=2•2•2•5;如果整数本身为质数或素数,直接输出,如:13=13。输入样例:12480输出样例:#include <stdio.h>int main() { int n,a=2; scanf("%d",&n); printf("%d=",n); w
2022-05-11 14:46:45
970
1
原创 PTA 7-127 Sum of the digits
Given a none-negative number, print out the sum of its digits.Input Format:A none-negative integer number.Output Format:The sum of its all digits.Sample Input:123Sample Output:6#include <stdio.h>int main() { int n,sum=0; scanf("%d",&
2022-05-11 14:12:46
227
原创 PTA 7-92 特殊a串数列求和
给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。输入格式:输入在一行中给出不超过9的正整数a和n。输出格式:在一行中按照“s = 对应的和”的格式输出。输入样例:2 3输出样例:s = 246#include <stdio.h>#include <math.h>int main() { int a,b,n,sum=0; scanf("%d %d",&a,&n); b=a; f
2022-05-08 17:54:53
174
原创 PTA 7-78 计算油费
现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。输入格式:输入在一行中给出两个整数和一个字符,分别表示顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助)。输出格式:在一行中输出应付款额,保留小数点后
2022-05-08 16:54:53
405
原创 PTA 7-71 求平方与倒数序列的部分和
输入格式:输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。输入样例:5 10输出样例:sum = 355.845635#include <stdio.h>#include <math.h>int main() { int m,n; double sum=0; scanf("%d %d",&m,&n);.
2022-05-08 16:46:27
372
原创 PTA 7-66 时间换算
本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。输入格式:输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。输出格式:输出在一行中给出hh:mm:ss格式的结果时间。输入样例:11:59:4030输出样例:12:00:10#include <stdio.h>int main() { int h,m,s,n,sum; scanf("%d:%d:%d",&
2022-05-08 16:26:23
405
原创 PTA 7-58 求幂级数展开的部分和
输入格式:输入在一行中给出一个实数x∈[0,5]。输出格式:在一行中输出满足条件的幂级数部分和,保留小数点后四位。输入样例:1.2输出样例:3.3201#include <stdio.h>#include <math.h>int main() { double x,a=1,sum=1,fz=1,fm=1; scanf("%lf",&x); while(fz/fm>=0.00001){ fz = pow(x,a); .
2022-05-08 15:26:01
246
原创 PTA 7-57 求e的近似值
自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。输入格式:输入第一行中给出非负整数 n(≤1000)。输出格式:在一行中输出部分和的值,保留小数点后八位。输入样例:10输出样例:2.71828180#include <stdio.h>int main() { int n; double sum=1,a=1; scanf("%d",&n); for(int
2022-05-07 19:22:51
283
原创 PTA 7-56 求给定精度的简单交错序列部分和
本题要求编写程序,计算序列部分和 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>int main() {
2022-05-07 19:07:45
316
原创 PTA 7-44 黑洞数
黑洞数也称为陷阱数,又称“Kaprekar问题”,是一类具有奇特转换特性的数。任何一个各位数字不全相同的三位数,经有限次“重排求差”操作,总会得到495。最后所得的495即为三位黑洞数。所谓“重排求差”操作即组成该数的数字重排后的最大数减去重排后的最小数。(6174为四位黑洞数。)例如,对三位数207:第1次重排求差得:720 - 27 = 693;第2次重排求差得:963 - 369 = 594;第3次重排求差得:954 - 459 = 495;以后会停留在495这一黑洞数。如果三位数的3个数
2022-05-07 18:08:20
146
原创 PTA 7-48 求组合数
本题要求编写程序,根据公式算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。输入格式:输入在一行中给出两个正整数m和n(m≤n),以空格分隔。输出格式:按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。输入样例:2 7输出样例:result = 21#include <stdio.h>double fact(int x){ double
2022-05-07 14:20:10
269
转载 PTA 7-117 整数的分类处理
给定 N 个正整数,要求你从中得到下列三种计算结果:A1 = 能被 3 整除的最大整数A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)输入格式:输入首先在第一行给出一个正整数 N,随后一行给出 N 个正整数。所有数字都不超过 100,同行数字以空格分隔。输出格式:在一行中顺序输出 A1、A2、A3的值,其间以 1 个空格分隔。如果某个数字不存在,则对应输出NONE。输入样例 1:8
2022-05-07 10:30:42
281
原创 PTA 7-139 手机话费
小明的手机每天消费1元,每消费K元就可以获赠1元,一开始小明有M元,问最多可以用多少天?输入格式:每个测试实例包括2个整数M,K(2<=k<=M<=1000)。输出格式:对于每个测试实例输出一个整数,表示M元可以用的天数。输入样例:2 2输出样例:3#include<stdio.h>int main(){ int m,k,cnt=0,n; scanf("%d %d",&m,&k); n = k; while(m!=0){ m--
2022-05-06 12:35:42
406
原创 PTA 7-137 Average
You are going to read a serial of none-negative integers, which ends with a negative number that does not count as one of the data. Your program calculates the average of all the none-negative integers, and prints the average which rounds to two decimal pl
2022-05-06 12:05:35
268
原创 PTA 7-136 穷举问题-搬砖
某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。如果想用n人正好搬n块砖,问有多少种搬法?输入格式:输入在一行中给出一个正整数n。输出格式:输出在每一行显示一种方案,按照"men = cnt_m, women = cnt_w, child = cnt_c"的格式,输出男人的数量cnt_m,女人的数量cnt_w,小孩的数量cnt_c。请注意,等号的两侧各有一个空格,逗号的后面也有一个空格。如果找不到符合条件的方案,则输出"None"输入样例:45输出样例:#incl
2022-05-06 11:55:05
574
原创 PTA 7-135 数字金字塔
输入正整数n,输出n层数字金字塔。输入格式:正整数n,1<=n<=9。输出格式:n层的金字塔,其中第1层的“1”在第1行的第39列(列从1开始计数)。输入样例:5输出样例:#include<stdio.h>int main(){ int n,a=39; scanf("%d",&n); for(int i=1;i<=n;i++){ for(int j=1;j<a;j++){ printf(" "); } for(int
2022-05-06 11:33:41
1266
原创 PTA 7-134 倒顺数字串
输入正整数n,输出它的倒顺数字串。如n=6时,输出1 2 3 4 5 6 5 4 3 2 1输入格式:输入一个正整数n,n的范围是[1,50]。输出格式:n的倒顺数字串,每两个数字之间只用一个空格隔开。输入样例:6输出样例:1 2 3 4 5 6 5 4 3 2 1#include<stdio.h>int main(){ int n; scanf("%d",&n); if(n==1){ printf("1"); return 0; } for(i
2022-05-05 20:21:16
353
原创 PTA 7-133 三个6
中国人非常喜欢6这个数字,因为大家总爱说66大顺啊。数学狂人李某人喜欢把什么都数字化,于是她把顺利这个词也定义了数量级,6代表1级顺利,66代表2级顺利,666代表3级顺利,以此类推。你看,数学狂人的世界总是让人无法理解。今天,李某人决定将数学进行到底,现在她设前n级顺利的和是sn。sn=6+66+666+…+66…66(n个6)。假设你已经知道了数字n,那么,你能帮李某人求出sn么?输入格式:输入一个正整数n,n的范围是[0,10)。输出格式:输出Sn的值。输入样例:2输出样例:72
2022-05-05 19:31:15
600
原创 PTA 7-132 画菱形
菱形是一种特殊的平行四边形,是四条边均相等的平行四边形。题目给出菱形的边长n,用*画出菱形。如n=1,输出:n=2,输出:n=3,输出:那么,你能用程序来实现么?输入格式:输入菱形的边长n,1<n<100。输出格式:输出对应的用*表示的菱形。输入样例:4输出样例:#include<stdio.h>int main(){ int n,cnt=1; scanf("%d",&n); for(int i=1;i<=n;i++){ fo
2022-05-05 19:23:47
617
原创 PTA 7-131 等腰直角三角形
等腰直角三角形是指一个角是直角,且两条直角边相等的三角形。这里我们输出直角边长为n的等腰直角三角形的格式如下所示: 比如n=1,则输出:n=2,输出:***n=3,输出:那么,你能用程序来实现么?输入格式:输入一个数n,表示三角形的边长。1<n<1000。输出格式:输出对应的用*表示的等腰直角三角形。输入样例:4输出样例:#include<stdio.h>int main(){ int n; scanf("%d",&n); for
2022-05-05 18:55:30
835
原创 PTA 7-130 累加器
请你实现一个累加器。输入n个非负整数,输出他们的和。 1<n<1000,而每个数则<10000。输入格式:输入包括两行。 第一行:包括一个整数n,表示总共有n个数。 第二行:包含n个整数。输出格式:输出n个数的和。输入样例:43 2 1 4输出样例:10#include<stdio.h>int main(){ int n,a,s=0; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d"
2022-05-05 18:13:11
491
原创 PTA 7-129 最佳情侣身高差
专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。输入格式:输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。输出格式:对每一个查询,在一行中为该用户
2022-05-05 17:18:19
730
5
原创 PTA 7-128 大于m的最小素数
编程求出大于m的最小素数。输入格式:直接输入一个正整数输出格式:直接输出结果,没有任何附加格式控制。输入样例:12输出样例:13#include <stdio.h>int main() { int n; scanf("%d",&n); while(1){ n++; for(int i=2;i<=n;i++){ if(n%i==0){ printf("%d",n);
2022-05-05 15:36:20
1844
2
原创 PTA 7-126 时间差
10点半到11点45之间,有几小时几分钟呢?你要写一个程序,读入两个时间,计算它们之间的时间差,输出相差几小时几分钟。输入输入两个时间,均以24小时制表达,每个时间以“小时:分钟”的形式表达,第二个时间一定比第一个时间晚或相同,而且一定在同一天内。输出输出表示两个时间之间的时间差的两个数字,第一个数字是时间差中的小时数,第二个数字是时间差中的分钟数。输入例子10:30 11:45输出例子1 15#include <stdio.h>int main() { int h
2022-05-05 15:13:46
1263
原创 PTA 7-125 又来一个上三角数字三角形
输入一个正整数n,输出具有n层的上三角数字三角形。输入格式:只有一个正整数n,1<=n<=100。输出格式:一个上三角数字三角形,每个数字占四个字符位置。输入样例:5输出样例:1 6 10 13 152 7 11 143 8 124 95#include <stdio.h>int main() { int n,cnt,x=1,s; scanf("%d",&n); cnt = n; for(int
2022-05-05 14:53:56
85
原创 PTA 7-124 上三角数字三角形
输入一个正整数n,输出具有n层的上三角数字三角形。输入格式:只有一个正整数n,1<=n<=100。输出格式:一个上三角数字三角形,每个数字占四个字符位置。输入样例:5输出样例:1 2 3 4 56 7 8 910 11 1213 1415#include <stdio.h>int main() { int n,cnt,x=1; scanf("%d",&n); cnt = n; for(int
2022-05-05 09:39:00
402
原创 PTA 7-122 3n+1
有这样一个猜想:对于任意大于1的自然数n,若n为奇数,则将n变成3n+1,否则变成n的一半。经过若干次这样的变换,一定会使n变为1。例如3->10->5->16->8->4->2->1。对于n=1的情况,当然就不用变化了。输入格式:输入一个正整数n,n的范围是[1,999999]。输出格式:输出变换的次数。输入样例:3输出样例:7#include <stdio.h>int main() { int n,cnt=0; sca
2022-05-04 20:38:31
350
原创 PTA 7-121 作品评分
全国中小学生Scratch作品大赛拉开了序幕。每个参赛选手可以通过网络直接上传作品。本次比赛人人可做评委。每个网络评委可以通过网络对每一件作品进行打分。评分系统也是请程序高手设计的,能自动去掉一个最高分和一个最低分,求出平均分。输入格式:输入数据包括两行: 第一行为n,表示n个评委,n>2。第二行是n个评委的打分,分数之间有一个空格。打分是可以带有小数部分的。输出格式:输出平均分,结果保留两位小数。输入样例:610 9 8 7.9 9 9.5输出样例:8.88#include &
2022-05-04 20:28:46
473
原创 PTA 7-120 兔子繁殖问题
已知有一对兔子,每个月可以生一对兔子,而小兔子一个月后又可以生一对小兔子(比如:2月份出生的小兔子4月份可以生育)。也就是说,兔子的对数为:第一个月1对,第二个月2对,第三个月3对,第四个月5对…假设兔子的生育期为两年,且不死。那么问题来了,你能说出每个月的兔子数么?输入格式:输入一个数n,表示第n个月,1<=n<=24。输出格式:输出这个月兔子的数目。输入样例:4输出样例:5#include <stdio.h>int main() { int n,a=0,
2022-05-04 20:05:30
218
原创 PTA 7-119 我是升旗手
一年一度的升旗手选拔又要到了,学校要求每个班级选出一位同学做升旗手的候选人。因为升旗手对身高有严格的要求,所以班主任决定选班级里个子最高的同学(如果两位同学一样高,则选任意一位)。你能很快地给老师答案么?输入格式:输入包括两行。 第一行:包括一个整数n,表示班级里共有n位同学。 第二行:包含n个三位数,表示每一位同学的身高。输出格式:输出身高最高的同学的身高。输入样例:4130 125 129 140输出样例:140#include <stdio.h>int main(
2022-05-04 19:46:19
560
原创 PTA 7-118 分队列
班级第一次列队,通常老师会让同学按身高排成一列,然后1、2报数,喊到1的同学向前一步,就这样,队伍就变成两列了。假设现在一个班级有n个同学,并且他们已经按身高排成了一列,同学按身高从1到n编号,你能告诉我最后哪些编号的同学站在了第一列么?输入格式:输入一个正整数n,表示班级的人数。输出格式:按顺序输出所有在第一列的同学对应的编号,每两个编号之间用一个空格隔开。输入样例:11输出样例:1 3 5 7 9 11#include<stdio.h>int main(){
2022-05-04 19:24:02
264
原创 PTA 7-116 计算圆周率
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。输入格式:输入在一行中给出小于1的阈值。输出格式:在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。输入样例:0.01输出样例:3.132157#include<stdio.h>int main(){ double a=1,b=1,c,n,sum=1; scanf("%lf",&n); c = a/b; for(int i=1;c>=n;i++){ a *= i; b *=
2022-05-04 13:03:42
359
1
原创 PTA 7-115 小于m的最大的10个素数
给定一个整数m(50<m<20000),找出小于m的最大的10个素数。输入格式:输入在一行中给出一个正整数m(50<m<20000)。输出格式:在一行中按递减顺序输出10个满足条件的素数,每个素数输出占6列。没有其它任何附加格式和字符。输入样例:229输出样例:227 223 211 199 197 193 191 181 179 173#include<stdio.h>int isprime(int x){ fo
2022-05-03 14:34:20
507
原创 PTA 7-114 谁先倒
划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。输入格式:输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),以空格分隔。下一行给出一个正整数N(≤100),随后N行,每行给出一轮划拳的记录,格式为:甲喊 甲划 乙喊 乙划其中
2022-05-03 13:48:22
77
原创 PTA 7-112 约分最简分式
分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。输入格式:输入在一行中给出一个分数,分子和分母中间以斜杠/分隔,如:12/34表示34分之12。分子和分母都是正整数(不包含0,如果不清楚正整数的定义的话)。提示:对于C语言,在scanf的格式字符串中加入/,让sc
2022-05-03 11:08:05
319
原创 PTA 7-111 求特殊方程的正整数解
本题要求对任意给定的正整数N,求方程X2+Y2=N的全部正整数解。输入格式:输入在一行中给出正整数N(≤10000)。输出格式:输出方程X2+Y2=N的全部正整数解,其中X≤Y。每组解占1行,两数字间以1空格分隔,按X的递增顺序输出。如果没有解,则输出No Solution。输入样例1:884输出样例1:10 2820 22输入样例2:11输出样例2:No Solution#include<stdio.h>#include<math.h>
2022-05-02 17:11:10
434
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人