自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PTA 1041 考试座位号

正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。用struct函数将一个学生的各种信息(准考证号 试机座位号 考试座位号)定义成一个students变量,再将题目要求的各种变量存储起来,利用循环直接找出符合条件的学生信息。考生信息之后,给出一个正整数 M(≤N),随后一行中给出 M 个待查询的试机座位号码,以空格分隔。

2023-03-19 19:30:15 142

原创 PTA1040 有几个PAT

字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。先找出所有T 的量,然后开始循环,时刻更新已经出现的P的量,并且将出现过的的T(排在A前)减掉,再遇到A就计算T的量和P的量相乘然后累加。3,开始重新遍历,记录P的值,减去T的值,在出现A时,累加sum=P的数目*A的数目(sum1**sum2)1,总次数sum在取余前的字节超出Int范围,应用long类型定义。

2023-03-19 17:07:03 144

原创 PTA 1037 在霍格沃茨找零钱

如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。这里 Galleon 是 [0, 107] 区间内的整数,Sickle 是 [0, 17) 区间内的整数,Knut 是 [0, 29) 区间内的整数。将P,A两个数字(分成加隆,西可,纳特的六个部分)经过计算后得到剩余的总纳特数,再将总纳特数转换成加隆,西可,纳特数,按格式输出。如果他没带够钱,那么输出的应该是负数。

2023-03-19 14:22:05 149

原创 7-2 统计字符

letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数。将输入类型拆成单字符变量类型(char n),对每位进行判断符合哪种类型,累加次数,按格式输出各类型次数。本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。2,利用循环(累计10次)对每位输出样例进行讨论,记录符合的类型次数。1,定义字符变量a,用于存储每次输入的样例。3,按输出格式输出各类型累计次数。2,字符条件讨论注意范围。

2023-03-12 22:35:45 802

原创 PTA 1031 查验身份证

首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};根据前17位号码计算(m(m为17位号码之和)%11)获得值z,用z跟效验码比较,判断身份号码是否正常。1,定义字符组变量a,b,z分别用于存储身份证号码,所有效验码,权重分配。1, 对所有号码都正常的情况(n==0)讨论,输出All passed。现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。4,跳出循环,对身份号码全正常的情况讨论。3,将满足条件的身份证号码输出。

2023-03-12 22:23:22 150

原创 PTA 1036 跟奥巴马一起编程

但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的 50%(四舍五入取整)。定义边长m和字符a,利用边长获得每行长度和总行数,按照行输出各行的要求的字符。首行,末行直接输出行长度的字符,中间行将中间位按空格输出。输入在一行中给出正方形边长 N(3≤N≤20)和组成正方形边的某种字符 C,间隔一个空格。1,定义整形变量m,n分别用于储存行长度和总行数,字符变量a存储输出要求的字符。3,对每行的输出进行讨论,输出要求的字符。1,行数记得讨论,防止输出图形错误。

2023-03-12 21:25:33 64

原创 PTA 1033 旧键盘打字

输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。可用的字符包括字母 [a-z, A-Z]、数字 0-9、以及下划线 _(代表空格)、,、.、-、+(代表上档键)。对字符串y的各个字符根据x中的所有条件进行讨论(坏键的存在(剔除坏键),上档键的存在(剔除大写字母))。旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?1,定义三个字符串变量,分别存储坏掉的那些键、应该输入的文字和最终输出文字。

2023-03-12 21:03:21 218

原创 PTA 7-6 找完数

逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + …在定义的整数变量m,n之间利用循环语句先找出满足条件的完数(sum),再对找出的完数进行计算讨论,找出该完数除本身外的所有因子数。1,定义整形变量m,n。2,利用循环语句将[m,n]区间内的所有数字进行讨论,获得完数,按一定格式输出(“%d = 1”,i)。3,对1的情况特殊讨论,1不是完数,如果1在[m,n]里,则跳出这次循环。2,留意对没有完数的情况特殊讨论(num0=0),输出None。

2023-03-12 16:38:27 6771 1

原创 PTA 7-3 换硬币

每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。对整数类型变量x的计算,根据输出样例利用循环语句找出正确的输出顺序,(优先级:5分钱数目>2分钱数目>1分钱数目),再根据输出的次数得出换发个数count。1,定义整形变量n(零钱x),i,l,j(分别表示不同面额的硬币数目),count(换法个数)。1,输出样例中的输出顺序有要求(优先级:5分钱数目>2分钱数目>1分钱数目)。3,按输出格式输出换法个数。

2023-03-12 15:40:01 2488

原创 PTA 1026 程序运行时间

要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。两次获得的时钟打点数之差 (C2-C1) 就是 f 运行所消耗的时钟打点数,再除以常数 CLK_TCK,就得到了以秒为单位的运行时间。利用题目给定的两个整形变量计算后(round((C2-C1) /100))得到运行时间(秒数),再按时,分和秒的规律的到各个所需时间。3,根据总秒数求出时钟(hh),分钟(mm),秒钟(ss)。

2023-03-06 20:48:26 126

原创 PTA 1027 打印沙漏

根据N得出总符号的规律得出总符号数目sum(sum+=2*(2*i-1),而N>sum。所以在 i 能取到的最大值,有最大值sum),再将沙漏看成上下两部分,分别按行数输出每行所需的空格与符号。2,定义所需的各种变量(i,j求各行所需的空格数,k求各行所需的符号数,m上半或下半的总行数)首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。3,将沙漏分为上下两个部分,分别利用循环语句输出每行所需的空格与字符。2,sum的循环语句中注意条件,防止所得的sum值大于所需求的。

2023-03-06 20:46:21 152

原创 7-8 计算火车运行时间

输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。1,定义x,y用于存储输入格式中的两个四位整数。先获得总分钟数mm,利用分钟数的出时钟与分钟。3,运用计算公式得出总时长(分钟)2,定义所需的各种变量。

2023-03-06 20:44:00 303

原创 PAT1028 人口普查

利用struct函数定义一个person变量,用于存储一个人的所有信息(名字和出生日期),将满足题目要求(出生日期在合理范围内)的人记录下来,再按出生日期找出最年长的与最年幼的,将名字记录下来,再按输出格式输出。4,利用sort函数对日期进行排序,再按输出格式将最年老的与最年轻的人名输出。1,对出生日期的要求过多,大于1814/9/6,小于1014/9/6。3,利用循环语句,if条件语句将符合题目要求的人物信息留下。2,对没有人满足条件的情况特殊讨论,输出0。

2023-02-26 22:01:34 141

原创 PAT1014 福尔摩斯的约会

大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;在一行中输出约会的时间,格式为 DAY HH:MM,其中 DAY 是某星期的 3 字符缩写,即 MON 表示星期一,TUE 表示星期二,WED 表示星期三,THU 表示星期四,FRI 表示星期五,SAT 表示星期六,SUN 表示星期日。4,后两个字符组相同字符出现的时候,记录下出现位置i(c[i]=d[i]),i表示分钟。

2023-02-26 21:01:54 73

原创 PAT 1022 D进制的A+B

3,对a+b可能存在的情况讨论,对a+b=0 的特殊情况输出0.将获得的数字按正确顺序排列。1,定义整形变量a,b,d用于存储A,B,D,num[101]用于存储D进制数的各位数字。1,a+b=0的条件注意,不能写成n=0(经过while循环之后n的数值发生改变)。将A+B的结果与D进行计算,获得D进制数的每位数字,按顺序排列。2,利用循环语句得到D进制数的各位数字。2,注意输出时各位数字的排列方式。

2023-02-26 19:13:48 63

原创 PAT1023 组个最小数

2,循环语句,对0的情况讨论,(在存在有0的情况下,找出除0以外的最小数字先放在一位,)再将剩下的数字按从小到大的顺序排列。按输入样例将各位数字出现的次数显示出来,再按从小到大的顺序将所有出现的数字排列并输出(注意0的出现情况)。1,定义a[10]用于存储从0到9各数字出现的次数。利用循环语句将出现次数储存在a[i]中。题目难点在于对0的存在情况进行讨论,记住将找出的最小数字放在一位后,在数组中删去这个数字。

2023-02-26 19:13:28 74

原创 PTA 1018 锤子剪刀布

C 代表“锤子”、J 代表“剪刀”、B 代表“布”,第 1 个字母代表甲方,第 2 个代表乙方,中间有 1 个空格。将一轮比赛的所有情况列出,将每种情况的获胜方(或平局),获胜方法记录下来,对各胜利方的获胜手段次数记录并比较大小(次数一样按字母顺序排列),得出获胜次数最多的手段。第 3 行给出两个字母,分别代表甲、乙获胜次数最多的手势,中间有 1 个空格。现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。2,对各种手段获胜次数的讨论,排序,输出出错率高(菜)

2023-02-26 00:08:43 100

原创 PAT1021 个位数统计

对每位数字都要讨论,这里用string变量储存整数N,可以将字符串拆成单字符的形式,对每位字符转换成数值形式并单独讨论。1,定义string函数存储N,再定义a[10]用于记录各位数字出现的次数。2,利用循环语句依次讨论各位数字。将各位数字出现的次数记录在a[j]中。2,没有出现过的数字要注意,不能出现在输出中。3,按输出格式输出出现的各位数字与次数。1,字符的数值讨论与字符有区别。

2023-02-25 23:16:15 81

原创 PAT 1019 数字黑洞

给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。将一个4位整数各位数字拆开成四个个位数字,并按从大到小,从小到大的顺序重新将4个数字组合成新的两个整数,相减得到新的四位整数,再按上面方法操作,直至出现出现6174的4位整数。2,用循环语句,先将4个各位数字按一定大小顺序重新排列,获得新整数max,min,再用max-min获得新整数,再将新整数变成4个个位数字的形式,重新进入循环。

2023-02-25 23:14:30 76

原创 PAT1017 A除以B

因为A是不超过1000位的整数(不是不超过1000),所以这里用整形类型储存A 不合适,用string变量储存。因为B是一位整数,所以只要将字符串A拆成单字符再转化成数值形式依次除以B,余数参与下一次计算,最后一次将余数储存起来。本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。1,定义字符串变量a,q用于储存A,Q,整形变量b,r用于储存B,R。2,利用if语句对单字符讨论(即一位整数A),先获得除数c,再计算。3,利用循环语句对字符串中的单字符依次计算,

2023-02-24 23:01:29 66

原创 PAT 1010 一元多项式求导

以与输入相同的格式输出导数多项式非零项的系数和指数。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。2,利用循环语句依次对输入的各项系数和指数按求导方式(系数=a*b,指数b-1)得出结果。以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。while(1)是死循环,永远满足条件,永远循环,程序永远执行这一句。1,定义整形变量a,b用于存储多项式非零项系数和指数。2,控制循环的停止,利用while(1);1,对多项式为0的讨论要注意,容易弄混条件。

2023-02-24 22:24:29 140

原创 PAT 1016部分A+B

正整数 A 的“Da(为 1 位整数)部分”定义为由 A 中所有 Da​ 组成的新整数 Pa​。例如:给定 A=3862767,Da​=6,则 A 的“6 部分”Pa是 66,因为 A 中有 2 个 6。现给定 A、Da​、B、Db,请编写程序计算 Pa​+Pb​。

2023-02-17 12:43:36 45

原创 PAT1012

每个测试用例先给出一个不超过 1000 的正整数 N,随后给出 N 个不超过 1000 的待分类的正整数。对给定的 N 个正整数,按题目要求计算 A1​~A5​ 并在一行中顺序输出。2,定义a1,a2,a3,a4,a4result,a5(A1~A5)用于记录符合题意要求的答案。1,对一组数据讨论的能力不足,这里A4的讨论就很令人头疼。4,讨论(A1~A5)存在情况,并按输出格式要求输出。3,留意各个条件的区分,不要混杂,可能导致编译错误。3,利用循环语句讨论各个测试用例的关系,并记录。

2023-02-10 13:45:47 36

原创 PAT1011

给定区间内的 3 个整数 A、B 和 C,请判断 A+B 是否大于 C。

2023-02-10 13:45:43 41

原创 PAT1009

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

2023-02-10 13:44:51 43

原创 PAT1013

对素数个数为10 ,10的倍数要讨论(注意空格不存在与换行),对最后一位素数的讨论要全面。现任给两个正整数 M≤N≤10^4​​ ,请输出 PM​ 到 PN​ 的所有素数。1,定义整形变量m,n用于存储M,N,用于找出素数范围。输出从 Pm到 Pn的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。2,输出格式要求很多,特别注意每一排最后不得有空格,最后一位素数不得有空格。2,注意对素数的讨论,容易产生不合题目要求的数字。1,注意最小素数(2)的存在,可能导致部分错误。

2023-02-10 13:44:40 46

原创 1008 数组元素循环右移问题

注:本题题目要求只能使用一个数组,下代码用了两个数组进行排序,仅供理解与参考。1,定义变量m,n,用于后面对数组的处理。2,定义变量a,再用循环语句记录并存储各位数字。2,对最后输出的数字没有空格要单独做处理。3,将数组分两类处理,分别进行排序输出。1,对m

2022-11-06 22:36:18 109

原创 PAT 1004成绩排名

确定n个学生类型(由姓名,学号,成绩构成),该类型用struct构建函数,再依次对该类型中的学生变量进行比较与处理,取出最大值与最小值,回到学生类型中,输出对应的学号,成绩。对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。1,先用struct构建一个学生函数,包括姓名,学号,成绩,定义一个students变量用于储存上述内容。2,在讨论成绩大小时,对同一数据一定记得要有两种讨论,最好同时讨论,以免遗漏,导致答案错误。

2022-10-29 11:06:18 135

原创 PAT 1002 写出这个数

输入的正整数n要分开成单个数字处理,处理好的数字再用求和方式再形成一个整体sum。接下来又是对正整数sum的处理,也是分开成各个数字,再将分开的各个数字以字符串的形式输出。1,这里我尝试将循环过程再简化,但容易导致答案错误,类似于结果输出样例颠倒,无法输出结果之类,这里将循环分开处理,我觉得更容易理解。1,定义一个字符串变量(string s)用于存储各位数字(将正整数n用字符串形似表示),方便后面计算各位数字之和。4,运用循环语句计算各位数字的和,储存在sum数组中。3,定义py变量用于输出样例,

2022-10-28 22:39:56 390

原创 【无标题】PAT作业1001 害死人不偿命的(3n+1)猜想

题目要求简要概述:输入一个小于1000的正整数,如果该正整数为奇数,进行2/n的运算,如果为偶数,进行(3n-1)/2的运算,反复进行计算,直至n=1后,输出运算的次数。1,定义两个整形变量,分别用于输入n,记录运算次数(int n,index=0),最终输出的即为index。(3)再判断n为奇数或偶数的情况,依据题意进行运算,并记录运算次数。这样我们就完成了,有更好的方法欢迎评论,有错误希望大家指出。2,注意在n=0或1的情况下,要分开讨论。(2)循环开始,并判断n=1,0的情况。

2022-10-16 10:42:08 148 1

原创 一本通1002至05

一行,包括四个正整数x,a,y,b,两个整数之间用单个空格隔开。x>y,a

2022-08-12 22:36:02 127

原创 数据类型与printf,scanf函数

注意:string并非是c的原生类型,无法像直接输入整数那样方便的使用scanf函数输入string变量,如果想直接使用,可以使用下面的方法。double(双精度):8个字节,64位,11位指数,52位有效尾数。float(单精度):4的字节,32位,8位指数,23位有效尾数。byte:1个字节,8位,256种状态,取值范围【-128,127】 格式符。short:2个字节,16位,取值范围为【-32768,32767】int:4个字节,32位(整数类型默认是int类型,取值范围约21亿)...

2022-08-10 16:12:35 225

原创 打印hello world

表示这是一条预处理命令,此处后接的include 表示打开stdio.h到对应代码中,是C语言中的标准I/O(Input/Output)库,可以直接使用。4,{}是语句块符号,确定内部代码为一个整体,在printf("hello world")意为打印hello world,最后以return 0作为函数结束,表示函数正常结束。3,int main(void)是C语言中main函数的一种声明方式,表示该main函数不带参数,返回值,1,#本身为指令,无其他意义与效果,............

2022-08-03 12:41:15 1219

空空如也

空空如也

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

TA关注的人

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