C语言
青藤门下狗
这个作者很懒,什么都没留下…
展开
-
解决C语言中printf和scanf的执行顺序问题
输出和预想的不同,这是因为scanf会直接读取缓存区的所有内容,依次分配,因此我们需要在每一次输入后清空缓存区,使用下面这个方法。原创 2022-10-24 11:45:21 · 2109 阅读 · 2 评论 -
PAT乙级考试记录做题感想
到今天已经刷了很多题了,愈加感觉到乙级的题目不是很难,但有的地方很细节,读题目一定要仔细不然又是白费功夫,常常是某个极限条件未考虑导致错误实在可惜,且刷题时也感觉语言的优越性,用c实在比不上python来的轻巧,不过更加能体会题目用意,想想python的字典等在乙级题目上一用就能很快过了,但C更能锻炼人,且python底层就是C,令我兴奋的是在不断刷题中经历了自己造轮子,去库函数里找轮...原创 2019-12-03 20:09:10 · 150 阅读 · 0 评论 -
PAT乙级考试记录之火星数字
火星人是以 13 进制计数的:地球人的 0 被火星人称为 tret。地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。火星人将进位以后的 12 个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer, jou。...原创 2019-12-03 20:00:26 · 120 阅读 · 0 评论 -
PAT乙级考试记录之德才论
宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第一行给出 3 个正整数,分别为:N(≤105 ),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于...原创 2019-12-03 19:58:52 · 84 阅读 · 0 评论 -
PAT乙级考试记录之到底买不买
1039 到底买不买 (20 分)小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1串...原创 2019-12-02 18:03:44 · 144 阅读 · 0 评论 -
PAT乙级考试记录之A除以B
1017 A除以B (20 分)本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。输入格式:输入在一行中依次给出 A 和 B,中间以 1 空格分隔。输出格式:在一行中依次输出 Q 和 R,中间以 1 空格分隔。输入样例:123456789050987654321 7输出样例:17...原创 2019-12-01 10:06:04 · 78 阅读 · 0 评论 -
PAT乙级考试记录之数素数
1013 数素数 (20 分)令 Pi 表示第 i 个素数。现任给两个正整数 M≤N≤104 ,请输出 PM 到 PN 的所有素数。输入格式:输入在一行中给出 M 和 N,其间以空格分隔。输出格式:输出从 PM 到 PN 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。输入样例:5 2...原创 2019-11-27 21:23:15 · 97 阅读 · 0 评论 -
PAT乙级考试记录之数字分类
题目;给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1 = 能被 5 整除的数字中所有偶数的和;A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1 −n2 +n3 −n4 ⋯;A3 = 被 5 除后余 2 的数字的个数;A4 = 被 5 除后余 3 的数字...原创 2019-11-27 10:47:46 · 151 阅读 · 0 评论 -
PAT乙级考试记录之D进制的A+B
输入两个非负 10 进制整数 A 和 B (≤230 −1),输出 A+B 的 D (1<D≤10)进制数。输入格式:输入在一行中依次给出 3 个整数 A、B 和 D。输出格式:输出 A+B 的 D 进制数。输入样例:123 456 8输出样例:1103代码:#include<stdio.h>int main(){ int a,b,d; sca...原创 2019-11-24 22:28:42 · 76 阅读 · 0 评论 -
PAT乙级考试记录之数组元素循环向右移动
一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0 A1 ⋯AN−1 )变换为(AN−M ⋯AN−1 A0 A1 ⋯AN−M−1 )(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格...原创 2019-11-24 22:14:20 · 230 阅读 · 0 评论 -
PAT乙级考试记录之素数对猜想
让我们定义dn 为:dn =pn+1 −pn ,其中pi 是第i个素数。显然有d1 =1,且对于n>1有dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105 ),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格式:在一行中...原创 2019-11-24 22:10:20 · 124 阅读 · 0 评论 -
PAT乙级考试记录之换个格式输出整数
题目:让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12…n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。输出格式:每个测试用例的输出占一行,用规定的格...原创 2019-11-24 20:57:28 · 76 阅读 · 0 评论 -
PAT乙级考试记录之成绩排名
读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩… … …第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之...原创 2019-11-23 21:19:31 · 162 阅读 · 0 评论 -
PAT乙级考试记录之我要通过
题目:“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:1.字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;2.任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;...原创 2019-11-23 17:42:16 · 90 阅读 · 0 评论 -
!=EOF是什么?
在刷题时看到了一个新的输入方式while(scanf("%d%d",&a,&b)!=EOF){ 函数 }EOF即end of file就是判断你输入完毕了没有,在你输入时自动判断空格“ ”换行‘\n’,直到在黑框中按住ctrl+Z然后回车告诉系统输入完毕例子:逆序输出单词#include<stdio.h>int main(){char a[100][10]...原创 2019-11-23 10:37:48 · 11627 阅读 · 1 评论 -
scanf输出问题
一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1……AN-1)变换为(AN-M …… AN-1 A0 A1……AN-M-1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?今天在做这个题的时候犯了一个错误导致每次输入数组长度和位移长度之后程序就输...原创 2019-10-28 17:21:15 · 406 阅读 · 0 评论 -
PAT乙级考试记录之写出这个数
问题:读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100 。输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789输出样例:yi ...原创 2019-11-22 17:18:59 · 76 阅读 · 0 评论 -
PAT乙级考试记录之害死人不偿命的(3n+1)猜想
问题:卡拉兹(Callatz)猜想:**对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。**卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐加粗样式动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,...原创 2019-11-22 16:05:04 · 256 阅读 · 0 评论