自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 AC-消灭数组

AC: 分为两种情况,一种是当前数组是非降序的,直接输出n即可。如果当前数组不是非降序的,那么我们分别对前一半和后一半数组进行求解。找到最大长度即可。#include<stdio.h>//求两者之间最大值int Max(int a,int b){ return a > b ? a : b;}//寻找最长的子数组int GetMax(int a[],int left,int right){ int mid = (left + right)/2; ..

2021-08-13 21:59:59 201

原创 AC--最佳连续子数组

AC: 最佳子数组要求算术平均数最大的前提下,越长越好。简单的思路,找到最大值,并记录下最大值。然后遍历数组,只要找到连续的 最大值 并记录下来就是 最佳子数组。#include<stdio.h>int main(){ int T; scanf("%d",&T); while(T--) { int n; scanf("%d",&n); int a[n]; int m..

2021-08-12 22:08:39 190

原创 奇数还是偶数

AC: 奇数的n次方还是奇数、偶数的n次方还是偶数,所以次方可以忽略,看作每一项都 × b。;当b为偶数的时候,只需要看最后一项是奇数还是偶数。当b为奇数的时候,需要看每一项的奇偶。(加、减、乘 % x,满足分配律),所以我们累加每一项,用和%2,判断奇偶。#include<stdio.h>int main(){ int T; scanf("%d",&T); while(T--) { int b,k; sca..

2021-08-11 23:05:37 360

原创 AC---送糖果

AC:暴力枚举即可。当两人手中糖果数小于要送出的数量,谁的就率先不够,输出相应名字即可。#include<stdio.h>int main(){ int T; scanf("%d",&T); while(T--) { int a,b; scanf("%d %d",&a,&b); int i = 1; while(1) { ..

2021-08-11 10:54:44 106

原创 PTA---出租车计价 (15 分)

本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:起步里程为3公里,起步费10元; 超起步里程后10公里内,每公里2元; 超过10公里以上的部分加收50%的回空补贴费,即每公里3元; 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。输入格式:输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。输出格式:在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。

2021-08-11 10:51:14 793

原创 PTA---高速公路超速处罚 (15 分)

按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。输入格式:输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。输出格式:在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。其中x是超速的百分比,精确到整数。输入样

2021-08-11 10:40:58 4063 1

原创 PTA--- 比较大小 (10 分)

本题要求将输入的任意3个整数从小到大输出。输入格式:输入在一行中给出3个整数,其间以空格分隔。输出格式:在一行中将3个整数从小到大输出,其间以“->”相连。输入样例:4 2 8结尾无空行输出样例:2->4->8AC:输入3个数字,两两比较,并且按从小到大的顺序排序a,b,c 最后输出即可。#include<stdio.h>int main(){ int a,b,c,temp; scanf("%d %d %d

2021-08-09 20:00:31 404

原创 AC-幸运年份

AC:幸运年份其实不多,也就1~9,10,20···90、100,200···900···也就是说,都是在1~9的基础上往后添0;我们只需要枚举这些年份找到刚好比输入年份大的就是答案。#include<stdio.h>int main(){ int T; scanf("%d",&T); while(T--) { int n; scanf("%d",&n); for(int i = ..

2021-08-09 19:56:16 148

原创 PTA---构造字符串

AC: 考虑仅通过 a,b 构造循环串,且不含长度为3 的子串。一种解是 "abba",循环输出即可#include<stdio.h>int main(){ int n; scanf("%d",&n); char str[n]; for(int i = 0; i < n;) { str[i] = 'a'; str[i+1] = 'b'; str[i+2]...

2021-08-06 19:39:26 140

原创 AC---最大分数

AC: 我的做法是把<=0的数存放到一个数组当中,然后按从小到大排序,这样绝对值越大就在数组的前面,就可以操作了。#include<stdio.h>#include<math.h>int cmp(const void* a,const void* b){ return *(int*)a - *(int*)b;}int main(){ int T; scanf("%d",&T); while(T--) { ..

2021-08-05 20:20:35 116

原创 PTA---字符串字母大小写转换 (15 分)

本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。输入格式:输入为一个以“#”结束的字符串(不超过30个字符)。输出格式:在一行中输出大小写转换后的结果字符串。输入样例:Hello World! 123#结尾无空行输出样例:hELLO wORLD! 123AC: 可以根据ASCII来完成。#include<stdio.h>int main(){ char c

2021-08-04 21:10:24 5580

原创 PTA---质数问题

AC:可以先把质数找出来放到prime数组当中,然后用cnt数组存放满足条件的质素 “相邻质数与 1 的和”。如果 ant 数组总长度小于 k ,或者该数组从小到大第 k个值 ant[k]​ 大于n,则说明不存在至少 k 个质数满足条件。#include<stdio.h>int Prime( int p ){ if(p == 2) return 1; else { for(int i = 2; i <= p/2 ;..

2021-08-04 20:44:23 365

原创 PTA--- 打印九九口诀表 (15 分)

下面是一个完整的下三角九九口诀表:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8

2021-08-03 10:14:19 494

原创 PTA---最大公约数和最小公倍数 (15 分)

本题要求两个给定正整数的最大公约数和最小公倍数。输入格式:输入在一行中给出两个正整数M和N(≤1000)。输出格式:在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。输入样例:511 292结尾无空行输出样例:73 2044AC: 公约数和公倍数是简单的数学问题,转化为编程语言就可以了。另,有一种辗转相除法求最大公约数在编程中比较常用。辗转相除可以简化计算的步骤,降低复杂度。且,辗转相除最后的余数就是 最大公约数。最小公倍数#i.

2021-08-03 10:08:01 2612

原创 PTA---换硬币 (20 分)

将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。输入样例:13结尾无空行输出样例:fen5:2, fen2:1, fen1:1,

2021-08-03 09:33:41 435 1

原创 AC---录入单词

小明在电脑上持续录入n 个单词。其中,第 i个单词在第ti 秒录入电脑。一个单词录入完毕后,如果连续 c秒都没有录入新的单词,则屏幕将会刷新,屏幕中所有单词都被清空。具体来说,如果前一个单词在第a 秒录入,后一个单词在第b 秒录入,那么:如果b−a≤c,则将后一个单词附加到屏幕中其他单词的后面。 如果b−a>c,则前面的所有单词都会消失,屏幕中只会保留最后一个单词。请你计算,当所有单词录入完毕时,屏幕中共有多少个单词。例如,当n=6,c=5,每个单词的录入时间依...

2021-08-02 20:11:44 132

原创 PTA---成绩转换 (15 分)

本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:大于等于90分为A; 小于90且大于等于80为B; 小于80且大于等于70为C; 小于70且大于等于60为D; 小于60为E。输入格式:输入在一行中给出一个整数的百分制成绩。输出格式:在一行中输出对应的五分制成绩。输入样例:90结尾无空行输出样例:AAC:这道题呢就是一个多分支结构。#include<stdio.h>int main(){ int point;

2021-08-01 17:16:46 540

原创 PTA---输出闰年 (15 分)

输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。输入格式:输入在一行中给出21世纪的某个截止年份。输出格式:逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。输入样例1:2048结尾无空行输出样例1:200420082012201620202024202820322036204

2021-08-01 15:32:13 642

原创 PTA---统计字符 (15 分)

本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。输入格式:输入为10个字符。最后一个回车表示输入结束,不算在内。输出格式:在一行内按照letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数的格式输出。输入样例:aZ &09 Az结尾无空行输出样例:letter = 4, blank = 3, digit = 2, other = 1

2021-08-01 15:24:08 572

原创 PTA---统计学生平均成绩与及格人数 (15 分)

本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。输入格式:输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。输出格式:按照以下格式输出:average = 成绩均值count = 及格人数其中平均值精确到小数点后一位。输入样例:577 54 92 73 60结尾无空行输出样例:average = 71.2count = 4AC: 如果

2021-08-01 15:19:06 6707

原创 PTA---计算符号函数的值 (10 分)

对于任一整数n,符号函数sign(n)的定义如下:请编写程序计算该函数对任一输入整数的值。输入格式:输入在一行中给出整数n。输出格式:在一行中按照格式“sign(n) = 函数值”输出该整数n对应的函数值。输入样例1:10结尾无空行输出样例1:sign(10) = 1结尾无空行输入样例2:0输出样例2:sign(0) = 0输入样例3:-98输出样例3:sign(-98) = -1AC :比较简单只要判断一下输入

2021-08-01 15:01:36 799

原创 PTA---求阶乘序列前N项和 (15 分)

本题要求编写程序,计算序列1!+2!+3!+⋯的前N项之和。输入格式:输入在一行中给出一个不超过12的正整数N。输出格式:在一行中输出整数结果。输入样例:5结尾无空行输出样例:153AC: 因为求的是前n项的阶乘和,所以可以使用自定义函数fact来完成每一个数的阶乘计算。这样就可以简化代码量。#include<stdio.h>//实现 阶乘int fact(int n){ int sum = 1; for (int i = ...

2021-08-01 14:57:28 2877

原创 PTA---求平方根序列前N项和 (15 分)

AC: 题目已经给出了math头文件已经sqrt函数来求平方根,我们只需要正确使用并求和即可。#include<stdio.h>#include<math.h>int main(){ int n = 0; double sum = 0; scanf("%d", &n); for (int i = 1; i <= n; i++) { sum = sqrt(i) + sum; } printf("sum = ..

2021-08-01 14:51:37 1596

原创 PTA---求交错序列前N项和 (15 分)

本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中输出部分和的值,结果保留三位小数。输入样例:5结尾无空行输出样例:0.917AC:我们可以知道,分子是从1到n。分母是1,3,5···。对于系数,我们可以设置一个flag = 1;然后没使用一次flag变化一次符号。#include<stdio.h>int main(){ in.

2021-07-31 20:36:27 209

原创 AC--整除

给定两个整数aa和bb。每次操作可以将aa增加11。请问,最少几次操作以后aa就能够被bb整除。输入格式第一行包含整数TT,表示共有TT组测试数据。每组数据占一行,包含两个整数aa和bb。输出格式每组数据输出一行结果,表示最少操作次数。数据范围前三个测试点满足,1≤T≤51≤T≤5。所有测试点满足,1≤T≤104,1≤a,b≤109。输入样例:510 413 9100 13123 45692 46输出样例:...

2021-07-31 20:22:33 173

原创 PTA---统计学生成绩 (10 分)

本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:大于等于90分为A; 小于90且大于等于80为B; 小于80且大于等于70为C; 小于70且大于等于60为D; 小于60为E。输入格式:输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。输出格式:在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。输入样例:777 54 9

2021-07-31 17:46:43 352

原创 PTA---求平方与倒数序列的部分和 (10 分)

本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n2+1/n。输入格式:输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。输入样例:5 10结尾无空行输出样例:sum = 355.845635AC:可以把平方和 和倒数分开求和 然后相加即可。#include <stdio

2021-07-31 17:43:51 476

原创 PTA---韩信点兵 (10 分)

在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:按从1至5报数,记下最末一个士兵报的数为1; 再按从1至6报数,记下最末一个士兵报的数为5; 再按从1至7报数,记下最末一个士兵报的数为4; 最后按从1至11报数,最末一个士兵报的数为10;请编写程序计算韩信至少有多少兵。输入格式:本题无输入输出格式:输出

2021-07-31 17:16:18 610

原创 PTA---爬动的蠕虫 (10 分)

一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。输入格式:输入在一行中顺序给出3个正整数N、U、D,其中D<U,N不超过100。输出格式:在一行中输出蠕虫爬出井的时间,以分钟为单位。

2021-07-31 17:13:57 355

原创 PTA---念数字 (10 分)

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:0: ling1: yi2: er3: san4: si5: wu6: liu7: qi8: ba9: jiu输入格式:输入在一行中给出一个整数,如:1234。提示:整数包括负数、零和正数。输出格式:在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如yi er san si。输入样例:-600结尾无空行输出样例:f.

2021-07-31 17:08:37 2989 3

原创 PTA---约分最简分式 (10 分)

分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。输入格式:输入在一行中给出一个分数,分子和分母中间以斜杠/分隔,如:12/34表示34分之12。分子和分母都是正整数(不包含0,如果不清楚正整数的定义的话)。提示:对于C语言,在scanf的格式字符串中加入/

2021-07-31 17:02:54 1936

原创 PTA---大笨钟 (10 分)

微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。下面就请你写个程序,根据当前时间

2021-07-31 16:47:48 193

原创 AC-交换相邻元素

给定一个长度为nn的数组a1,a2,…,ana1,a2,…,an。该数组是一个1∼n1∼n的排列。数组的前n−1n−1个位置中,部分位置可以进行交换操作,将该位置的元素与后面相邻位置的元素进行互换。交换操作的次序和次数均不限。请你判断给定的数组能否通过交换操作变为一个升序数组。输入格式第一行包含整数nn。第二行包含nn个整数a1,a2,…,ana1,a2,…,an。第三行包含一个长度为n−1n−1的0101字符串,第ii个字符为11表示第...

2021-07-30 18:00:35 430

原创 PTA---阶梯电价 (15 分)

为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。输入格式:输入在一行中给出某用户的月用电量(单位:千瓦时)。输出格式:在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出"Invalid Value!"。输入样例1:10

2021-07-30 17:55:38 688

原创 PTA---求组合数 (15 分)

本题要求编写程序,根据公式Cnm​=m!(n−m)!n!​算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。输入格式:输入在一行中给出两个正整数m和n(m≤n),以空格分隔。输出格式:按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。输入样例:2 7输出样例:result = 21AC:这道题的可以使用自定义函数,也可以不使用。只要会求

2021-07-30 17:50:17 427

原创 PTA---谁是赢家 (10 分)

某电视台的娱乐节目有个表演评审环节,每次安排两位艺人表演,他们的胜负由观众投票和 3 名评委投票两部分共同决定。规则为:如果一位艺人的观众票数高,且得到至少 1 名评委的认可,该艺人就胜出;或艺人的观众票数低,但得到全部评委的认可,也可以胜出。节目保证投票的观众人数为奇数,所以不存在平票的情况。本题就请你用程序判断谁是赢家。输入格式:输入第一行给出 2 个不超过 1000 的正整数 Pa 和 Pb,分别是艺人 a 和艺人 b 得到的观众票数。题目保证这两个数字不相等。随后第二行给出 3 名评委的投票

2021-07-30 17:39:12 440

原创 PTA---A除以B (10 分)

真的是简单题哈 —— 给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。输入格式:输入在第一行给出两个整数A和B(−100≤A,B≤100),数字间以空格分隔。输出格式:在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error。输出的商应保留小数点后2位。输入样例1:-1 2结尾无空行输出样例1:-1/2=-0.50结尾无空行输入样例2:1 -

2021-07-30 17:34:27 373 1

原创 PTA---逆序的三位数 (10 分)

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。输入格式:每个测试是一个3位的正整数。输出格式:输出按位逆序的数。输入样例:123结尾无空行输出样例:321结尾无空行AC:把一个三位数逆序输出,可以吧原来的三位数分割成三部分,然后把 原来的个位×100 + 原来的十位×10 + 原来的百位 即可。#include<stdio.h>int main()

2021-07-30 17:26:51 537

原创 PTA---然后是几点 (10 分)

有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,例如 5 点 30 分表示为 530;0 点 30 分表示为 030。注意,第二个数字表示的分钟数可能超过 60,也可能是负数。输入格式:输入在一行中给出 2 个整数,分别是四位数字表示的起始时间、以及

2021-07-30 17:19:49 121

原创 PTA---厘米换算英尺英寸 (10 分)

如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。输入格式:输入在一行中给出1个正整数,单位是厘米。输出格式:在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。输入样例:170结尾无空行输出样例:5 6AC: 有点绕,写在代码中了。#include<stdio.h>// (

2021-07-30 17:09:26 265

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除