- 博客(14)
- 收藏
- 关注
原创 PAT1030 完美数列 C语言
我是逐一比较后找出其中最大的,但并不是真的需要逐一比较。因为当你找出一个符合的数字数目后,剩下的如果差距比它小,则没必要继续比了,因此有break的条件。1.超时点1:对输入数的排序算法,我一开始用的插入算法,最后用的快排。2.超时点2:循环的控制。
2023-05-13 22:11:04
107
原创 PAT1028 人口普查 C语言
2.其中有不合理的数据要剔除。这是难点也是重点:首先没办法在输入的时候去除,所以我在挑选年长和年轻的人之前,先用一段代码把符合标准的居民成员的编号存入一个数组中,再比较。1.这符合结构体的数据特征,一个成员内包含属于它的多个信息。
2023-05-13 15:17:39
153
原创 PAT1019 数字黑洞 C语言
它们将int转换为字符串的结果是一样的(若不做特殊处理)其运行结果如下这说明若int长度小于字符数组长度,它们会把多余的元素转化为空字符。但网上很多人说itoa函数不安全,希望有大佬能解释一下原因。
2023-05-04 11:21:42
96
原创 PAT1018 锤子剪刀布
现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输出第 1、2 行分别给出甲、乙的胜、平、负次数,数字间以 1 个空格分隔。第 3 行给出两个字母,分别代表甲、乙获胜次数最多的手势,中间有 1 个空格。如果解不唯一,则输出按字母序最小的解。
2023-05-03 19:41:26
58
原创 PAT1017 A除以B
本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。
2023-05-03 17:39:49
35
原创 PAT1015 德才论 C语言实现
L(≥60),为录取最低分数线,即德分和才分均不低于 L 的考生才有资格被考虑录取;输出第一行首先给出达到最低分数线的考生人数 M,随后 M 行,每行按照输入格式输出一位考生的信息,考生按输入中说明的规则从高到低排序。这样通过每一个数组可以引用一类考生的信息,既方便比较的实现,也方便最后的输出。基本的快速排序法,并不适用于我这个排序。我一开始使用的冒泡排序算法,在数据较大的情况下超时了,这就要求我们选择一种时间复杂度受数据量影响更小的方法。其他达到最低线 L 的考生也按总分排序,但排在第三类考生之后。
2023-05-01 09:38:42
98
原创 PAT 1014福尔摩斯的约会
1.gets函数读取字符串时会把字符串末尾的回车转换为\0储存2.可以把字符用printf函数以ASCII码值的形式打印出来3.我的代码里嵌套了很多if语句,其实可以合并到一个里面,但为了逻辑清晰,就写开了。
2023-04-22 16:37:25
41
原创 pat1008 和pat1009 C语言
一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?
2023-04-09 17:49:16
44
原创 C语言PAT1007 PAT1010
1.在第一部分中有的人用scanf控制循环结束,这是因为scanf函数是有返回值的,返回值为正整数:用户正确输入参数的个数EOF:表示输入已经结束2.我的代码在测试点3无法通过,我怀疑是没有考虑a=0的情况,但我也不知道如何考虑。希望大家能给出意见!!
2023-04-09 16:36:29
41
原创 PAT1005 继续(3n+1)猜想
1.第二次比较时0无需考虑,在第一遍写的时候没想到2.要对一个数进行完整的卡拉兹运算才行,第一次写时遗漏3.这次写的冒泡排序应该是最简洁的一版,记下来。
2023-04-08 18:57:42
88
1
原创 PAT 1002.读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
文章目录1.如何计算一串数的各位数之和?2.如何将各位数之和转换成拼音表示? 二中已经将数字储存到数组中,k=0的成员为个位,最后的成员为最大位数
2023-04-01 21:01:31
155
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人