![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习经验
特小白象
编程小白,正自学c语言,准备pat,想去杭州
展开
-
整数计算溢出的处理
在做PAT_A1065时,涉及到了long long型相加溢出的情况下面以简单起见,以int型为例由于计算机内部存储数据是以补码的形式,假设int型 占32位, 则取值范围为[-2^31, 2^31-1]则int型 a + b 正溢出时的取值范围为 [2^31, 2^32-2], 计算机的处理是略去最高位,即 %2^32,左界:2^31 % 2^32 = 2^31, 但是2原创 2018-01-11 12:55:58 · 4093 阅读 · 0 评论 -
PAT_A1001(将数字XXXXX写成XX,XXX的形式)的一点思考
对于此题,当数字sum不是不超过int型 或long long型的表示范围时 有一种简便的解决办法: 以sum if(sum >= 1000000) printf("%d,%03d,%03d", sum / 1000000, sum % 1000000 / 1000, sum % 1000);else if(sum >= 1000) printf("%d,%03d", sum原创 2018-01-14 19:54:05 · 753 阅读 · 0 评论 -
PAT A1067
1067. Sort with Swap(0,*) (25)时间限制 150 ms内存限制 65536 kB代码长度限制 16000 B判题程序 Standard 作者 CHEN, YueGiven any permutation of the numbers {0, 1, 2,..., N-1原创 2018-01-25 16:19:29 · 160 阅读 · 0 评论 -
二分查找
二分查找中的while只能准确返回数组范围内第一个满足某个条件的位置,不能实现查找最后一个...的数,所有最后一个...的数都只能通过查找第一个...的数减一获得。当通过查找第一个...的数去实现查找最后一个...的数时,有一个情况需要单独处理:即当所有数都满足条件时,最后一个...的数为查找范围的最大值,而非最大值减一。如【0,n】内,此时按理来说应该是返回n, 而不是n - 1.下原创 2018-01-26 19:32:24 · 165 阅读 · 0 评论 -
求出现次数最多的字母,若不唯一,则输出字母序最小的字母
技巧就是对应字母序,分别用 0 - 25 表示 26 个字母,即用一个数组表示各个字母出现的次数,数组下标对应字母,这样就能很容易求出若不唯一时,字母序最小的字母:只需从下标 0 开始由小到大扫描求最大值for(i = 0; i max) max = a[i];这样就很好的满足了当结果不唯一时,输出字母序最小的一个的要求。原创 2018-01-10 20:15:38 · 884 阅读 · 0 评论 -
关于scanf是否吃掉 ‘\n’的一点思考
首先scanf到底会不会吃掉 \n 就是指 输入流中是否还存在 ‘\n’这个字符。尤其是指 读%c时的情况。下面写几道简单程序试验一下。程序1:#include int main(){ int n; scanf("%d\n", &n); printf("%d\n", n); return 0;}运行程序时,输入1回车,程序并没有结束,再输入任意字符和回原创 2018-01-10 20:34:12 · 687 阅读 · 0 评论 -
PAT坑点、易错点合集
全局变量只能定义的时候初始化,不能在函数外赋值。定义了全局变量后, 就不要再mian函数里定义一个同名字的变量,否则如果又出现子函数调用用到该变量,则会自动初始化为0!!!要想在同一个solution下添加多个独立project,以及能独立运行main函数,则需要在solution的properties的 startup project 改为 current selection。Dij算法可以求一...原创 2018-01-17 01:27:21 · 1434 阅读 · 1 评论 -
关于sort中cmp一个小问题
如果想用cmp进行从大到小的排序用下列的代码时,bool cmp(int a, int b){if(a != b) return a > b;}用PAT判断时 可能会出现段错误;例A1037.正确的写法应该是bool cmp(int a, int b){return a > b;}具体原因还不是很懂,但是用cmp一定要保证严格弱排序的规则,一定要保证所有情况都有返回bool的值。严格是...原创 2018-01-25 11:31:24 · 768 阅读 · 0 评论