狼行远山
码龄6年
关注
提问 私信
  • 博客:2,263
    2,263
    总访问量
  • 12
    原创
  • 918,192
    排名
  • 0
    粉丝
  • 0
    铁粉

个人简介:也无风雨也无晴

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2019-01-12
博客简介:

qq_44506092的博客

查看详细资料
个人成就
  • 获得1次点赞
  • 内容获得0次评论
  • 获得1次收藏
创作历程
  • 12篇
    2021年
成就勋章
TA的专栏
  • pat乙级
    12篇
兴趣领域 设置
  • 后端
    spring
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

pat乙级 1012 题解

整体思路简单,但需要注意两点细节:1.float=int/int与float=(float)int/int 两个表达式的区别前者是将int/int计算的结果强制转换为float类型,小数部分一定为0,而后者是将被除数强制转换为float类型,这样计算的结果为float类型,小数部分不一定为0输出时使用printf("%.1f")2.其他几类数字的相关结果为非负数,判断是否存在该类数字的条件简单而统一,即相应的计算函数中的计数器是否为0而A2的情况较为特殊,其结果不一定为非负数,因此即
原创
发布博客 2021.08.19 ·
181 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pat乙级 1011 题解

整体思路非常简单,只需注意ABC值所在的范围超出了int类型变量所能表示的数值范围,因此应选用long类型变量存储ABC,对应的scanf与printf中也应使用%ld而非%d即可代码如下:#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>intmain(){intt;scanf("%d",&t);inti;...
原创
发布博客 2021.08.19 ·
152 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pat乙级 1010 题解

一、整体思路ji读入相应的系数-指数对后将该对中的系数与指数分别存入相应的系数数组与指数数组,分以下两种情况输出对应数据1.输出的一元多项式为零多项式,指数和系数都是 0,也即输入的一元多项式的指数为0且仅含有组系数-指数对2.输出的一元多项式不为零多项式,则输出其求导后的多项式的对应数据二、关键问题1.如何实现输入数据的读取2.在输出求导后的多项式的其中一个系数-指数对后,什么情况下会输出0三、关键问题对应的解决方法1.遍历输入的字符串,当遍历到空格符时该空格符的下
原创
发布博客 2021.08.18 ·
298 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pat乙级 1009 题解

零、错误原因在接受本题中这种含有空格的字符串时选择了scanf而不是gets,导致读取到的字符串只是第一个空格前的单词一、整体思路读入输入的字符串后,依次找出字符串中的每一个单词并存储在对应数组中,最后再反向输出二、关键问题1.如何找出字符串中的每一个单词2.如何实现各单词的分别存储三、关键问题对应的解决方法1.遍历输入的字符串,当遍历到空格符时该空格符的下一个字符即为下一单词的内容2.使用二维数组存储各单词,二维数组的行数标志着各单词的顺序与对应地址,当遍历
原创
发布博客 2021.08.18 ·
293 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

pat乙级 1008 题解

一、整体思路读入相应的输入数据后,对数组进行右移后输出二、关键问题1.如何实现数组的右移三、关键问题对应的解决方法1.进行m次以下过程(每次右移1位)保存数组的末位元素,将数组中第0位到倒数第二位的元素右移一位,再将末位元素的值赋给第0位四、数据结构使用一个int变量存储数组每次右移一位前的末位,以将其赋给第一位代码如下:#define_CRT_NONSTDC_NO_WARNINGS#include<stdio.h>#inclu..
原创
发布博客 2021.08.18 ·
131 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pat乙级 1007 题解

一、整体思路读入n后检索出2~n之间的所有素数,将其存放进一个数组中,再依次计算数组中相邻两个元素之间的差值,若差值为2则满足猜想的素数对的个数+1二、关键问题1.如何判断一个数n是否是素数三、关键问题对应的解决方法1.将n依次除以2~sqrt(n)之间的每一个数,若能整除其中一个则该数不为素数(相较2~n-1减少运行时间)四、数据结构用int数组标志1~n之间的每一个数是否为素数用int数组存放所有素数以简化查找满足猜想的素数对的过程五、一些小细节
原创
发布博客 2021.08.18 ·
146 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pat乙级 1006 题解

一、整体思路读入n后按题目所给格式进行输出二、关键问题1.如何按题目所给格式输出2.如何简化输出个位的过程(十位、百位同理)三、关键问题对应的解决方法1.根据n的位数分类进行输出若n为个位数,则按格式输出个位若n为十位数,则按格式输出十位与个位若n为百位数,则按格式输出百位、十位与个位2.拿到的个位为char类型,可借助for循环与相应的表达式通过printf("%c",'0'+i-0)完成关键点在于理解'0'与char,0与int之间的关系与相对关系
原创
发布博客 2021.08.17 ·
126 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pat乙级 1005 题解

一、整体思路先读入这K个数,再判断其中哪些是关键数,最后取出关键数并对其进行降序排列与输出二、关键问题1.关键数是什么2.如何找出一个数字序列中的关键数三、关键问题对应的解决方法1.通过找出一个数字序列中的关键数的例子阐述什么是关键数数字序列为:3 5 6 7 8 11数字3的卡拉兹猜想验证过程为:3 5 8 4 2数字5的卡拉兹猜想验证过程为:5 8 4 2数字6的卡拉兹猜想验证过程为:6 3 5 8 4 2数字7的卡拉兹猜想验证过程为:7 11 17
原创
发布博客 2021.08.17 ·
132 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pat乙级 1004 题解

数据结构上采用二维数组分别存储姓名与学号,使用int数组存储成绩,整体思路较为简单,不过需要留意一个细节,题目所给条件“均为不超过 10 个字符的字符串”中所说的字符串长度并未计算\0字符,在定义数组时需要为\0字符预留位置在这一点上踩了坑,某个测试用例中学号恰好为10个字符,而我最初使用charnumber[100][10]存储学号,使得存储该字符串时未能补入\0字符,导致输出时出错,输出了该学号与下一学号代码如下:#define_CRT_SECURE_NO_WARNINGS#..
原创
发布博客 2021.08.17 ·
256 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pat乙级 1003 题解

= ==/ \全局变量的初始值PAAAPAATAAA误伤AAPATAA
原创
发布博客 2021.08.17 ·
240 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pat乙级 1002 题解

思维难度与编码难度均不大,当然对我现在的水平来说还是有一些挑战的,做出来也比较有成就感,可惜在一开始选择了错误的方向因而花费了许多时间刚做过1001,受惯性思维影响,依然选择使用int变量去接受输入,但实际上1002中n的范围与1001(不超过 1000 的正整数)大相径庭,不能作相同处理。本题中n的范围是小于10^100,直观感觉是1后面跟100个0,这个数字已经远远超过了long long类型所能表示的最大数值,所以需要用字符串数组去接受输入正确的解法放在后面再谈,先说最初的错误的解法代
原创
发布博客 2021.08.11 ·
200 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pat乙级 1001 题解

非常简单的题目,按部就班翻译即可。太久没敲程序了,连C取余数的运算符(%)都忘记了。代码如下:#include <stdio.h>int main(){ int n; scanf("%d",&n); int count; for(count=0;n!=1;count++) { if(n%2==0) n=n/2; else n=(3*n+1)/2; } pri...
原创
发布博客 2021.08.10 ·
108 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏