![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言PAT练习
文章平均质量分 85
子书阳
要么赢,要么输
展开
-
PAT乙级1011,用C语言进行编程,实现A+B和C的数值大小判断
今天要讲的这道题目呢,是收录在PAT乙级中的第1011题,非常简单的一道题目,但我在做这道题目的时候,还是犯了一点错,实在是不应该啊。归根结底的原因在于我没有读清楚题目,做题目的时候太着急了,太注重结果了,非但没有提升速度,反倒是降低了做题的效率。话不多说,我们先来看一下这道题目的要求。题目要求如下1、给定区间[-2^31,2^31]内的3个整数A、B和C,请判断A+B是否大于C。看到这个题目要求,就一定要提及一下,注意,区间是[-2^31,2^31]。我们一般知道的int类型的区间原创 2021-09-15 14:25:40 · 638 阅读 · 0 评论 -
PAT乙级1010,用C语言进行编程,设计函数进行一元多项式求导
本来计划一个暑假多刷一些关于PAT的题目,以及提升一下自己的编程能力。结果,暑假倒是过去了,也步入研二了,但是这些文章呢,一直迟迟没有写出来。我感觉非常不好意思,所以,从今天开始,我又回来继续写这些关于编程的文章了。一方面呢,是为了提升自己的实力,另一方面呢,也是为了让更多小伙伴能跟我一起提升编程技术。今天这道题目呢,是收录在PAT乙级中的第1010题,也就是一元多项式求导。题目要求如下:1、以指数递降的方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数),但这个括号里的原创 2021-09-08 16:10:01 · 840 阅读 · 0 评论 -
PAT乙级1009,用C语言进行编程,给定一句英语实现倒序打印
正如标题所说,今天带来的是PAT中一道20分的题目,也就是PAT乙级1009说反话。其实题目要求很简单,就是给定一句英语,用字符串的形式存储,然后用C语言把句中所有单词和空格进行一个倒序打印出来即可。那么,在得到这个题目的要求后,我们就可以分析出该题目的逻辑:1、要用到字符串,但是这里得注意,C语言中并没有字符串这个类型,它不像C++和Java一样是有字符串类型的,所以要表现出字符串,就得需要使用字符数组,或者说是字符指针,不过今天这道题呢,当然是以字符数组为主,看起来也能更加直观一些。2、原创 2021-07-15 21:31:55 · 555 阅读 · 5 评论 -
PAT乙级1008,用C语言进行编程,解决数组元素循环向右问题
周一了,还是不能忘记提升自己的编程能力。今天练习的这道题是PAT乙级1008,主要是为了解决数组元素循环向右问题,不看这道题目的具体描述,我就已经能猜出这道题的大概要求了。就是为了让我们实现一组元素不停地向右移动。比方说给定一组数据{1,2,3,4,5,6},向右移动两位的话,得到结果应该为{5,6,1,2,3,4}。不过呢,为了保险起见,还是得看看这道题目的具体要求:1、一个数组中存在N个整数,当然这里的N是大于0的,在不允许使用另外数组的前提下,将每个整数循环向右移M个位置,同时M也原创 2021-07-12 16:54:23 · 431 阅读 · 0 评论 -
PAT乙级1007,用C语言进行编程,实现素数对猜想
这一次呢,与之前所写的博客联动一下。因为之前是对素数进行判断,那么这篇博客呢,就来完成PAT乙级中的1007这道题,也就是实现素数对猜想。先来提一提该题目的要求:定义一个dn=pn+1 - pn, 其中呢pi是第i个素数,显然当素数pn+1为3时候,pn为2时,有满足dn=1,那么素数对猜想主要是为了满足dn=2的时候,满足该要求的素数对有多少对。以20为例,显然存在3、5/5、7/11、13/17、19 这样四对素数对。而我们要实现的,就是用代表来把这最后有多少对素数对的数量给输出出来。原创 2021-07-10 17:42:19 · 271 阅读 · 2 评论 -
PAT乙级1006,用C语言进行编程,换个格式输出整数
今天的这道题呢就放松一下了,难度也不大,比较简单。不过为了让整个流程都比较明朗,对于这道题虽然我只花了一丢丢时间就完成了,但是还是得详细讲一讲。这道题的大致要求是:用字母B表示百位,用字母S表示十位,用123...n来表示不为零的个位数字(n<10),例如234输出得到为BBSSS1234。审题分析,理清逻辑,流程图流程图如图所示,得到流程图之后其实思路还是蛮清晰的,就是对百位、十位、个位进行一个分别计数。对于这道题呢,其实很简单,就是由简到繁。既然要求对百位、十位、个位分原创 2021-07-09 08:50:53 · 195 阅读 · 4 评论 -
PAT乙级1005,用C语言进行编程,继续卡拉兹猜想
今天的这道题目着实把我难住了好久,不愧是PAT乙级中值25分的一道题。这道题呢,是在PAT乙级1001的基础上来增加了一些难度,但是呢,还没有涉及到数据结构,可以说只需要盘清楚逻辑,就可以做这道题了。我们先来看一看这道题描述了什么:当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推到的每一个数。例如对n=3验证的时候,我们需要计算3、5、8、4、2、1,当我们对n=5、8、4、2进行验证的时候,由于我们之前在验证3的时候已经递推过了,所以就不需要验证这些数字。看到这句话的时候,原创 2021-07-08 11:19:46 · 1095 阅读 · 3 评论 -
PAT乙级1004 用C语言进行编程
期末了,真的挺忙的,不过忙完这一段时间也就空了不少。趁着这段时间来好好刷一下题,锻炼一下手感,今天我做的题目是PAT乙级1004。这道题啊,乍一眼看上去很简单,可实际上在做的时候还是会出现不少错误。小伙伴们可不能像我一样这么马虎。我们先来看一看这道题目的要求:输入n个学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。题目真的非常简短,但是我们也不能疏忽。照惯例,首先是审题分析,理清逻辑。每次在做编程题与算法题的时候,我始终把这一基本要求放在首位。审题分析原创 2021-06-24 13:39:26 · 695 阅读 · 1 评论 -
PAT乙级1003 用C语言进行编程
我发现,好久没写算法题了,人都变菜了。PAT乙级才只做到1003的时候,就发现自己已经力不从心,很多都不会了。还是得好好地反思一下自己。在做这道题的时候,主要遇到的wen ti原创 2021-06-07 16:04:09 · 588 阅读 · 3 评论 -
PAT乙级1002 用C语言进行编程
说来有些惭愧,这道题做了两天。一方面是学校课程比较忙,导致没什么时间来写。另一方面是自己遇到了一个非常非常非常浅显的错误,没有给sum赋值,但是我没想到xcodeju r原创 2021-06-05 17:05:34 · 310 阅读 · 1 评论 -
PAT乙级1001 用C语言进行编程
卡拉兹(Callatz)猜想:对任何一个正整数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数n,...原创 2021-06-03 23:44:45 · 286 阅读 · 0 评论