PAT-c语言
popo-shuyaosong
这个作者很懒,什么都没留下…
展开
-
PAT-乙级B1032-数据预处理
#include <stdio.h>int main(){ int i,n,num,score,max_num,max_score=0; int collect[100001]={0}; //要大于100000,坑啊 scanf("%d", &n); for(i=0;i<n;i++) { sc...原创 2019-01-24 16:33:20 · 144 阅读 · 0 评论 -
PAT-乙级B1036-没难度(vc6.0不兼容round函数)
#include <stdio.h>//#include <math.h> //调用round函数int main(){ int n, i, m, j; char c; scanf("%d %c", &n, &c); for(i=0; i<n; i++) printf("%c", c); //...原创 2019-01-30 17:02:57 · 395 阅读 · 0 评论 -
PAT-乙级B1027-打印沙漏(有坑)
#include <stdio.h>void out(int n, int m, char c) { int i; for (i=0; i<(n-m)/2; i++) printf(" "); for (i=0; i<m; i++) printf("%c", c); //for (i=0; i<(n-m)/2; i++) printf(" "); ...原创 2019-01-31 10:54:40 · 366 阅读 · 0 评论 -
PAT--算法笔记3.4-日期差值(计算两个日期相差多少天)-code up 1928
关于闰年1、公历中只分闰年和平年,平年二月28天,闰年二月29天,平年有365天,闰年共有366天(1-12月分别为31天,29天,31天,30天,31天,30天,31天,31,30天,31天,30天,31天)。2、普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1999年不是闰年); 世纪闰年:能被400整除的为世纪闰年。(如2000年是世纪闰...原创 2019-02-03 18:28:12 · 760 阅读 · 0 评论 -
PAT-乙级B1022-十进制转化为八进制(进制转换)-忽略了边界情况
思路:十进制x转化为Q进制的y将x除以Q,得到的余数即是y的低位,得到的商赋值给x继续除以Q,重复上述步骤。#include <stdio.h>int main(){ int a, b, d; int sum, count=0, change[35]={0}, i; scanf("%d %d %d", &a, &b, &d);...原创 2019-02-11 20:55:29 · 189 阅读 · 0 评论 -
PAT-乙级B1037-找零钱(进制转换)-注意输入格式
#include <stdio.h>int main(){ int pg, ps, pk, ag, as, ak; int p, a, gap, gap_g, gap_s, gap_k; scanf("%d.%d.%d %d.%d.%d", &pg, &ps, &pk, &ag, &as, &ak); //此处的.不...原创 2019-02-11 21:40:22 · 165 阅读 · 0 评论 -
PAT-乙级B1006-没难度
#include <stdio.h>int main(){ int a, b, s, n, i; scanf("%d", &a); b=a/100; s=a%100/10; n=a%10; //分别提取个位,十位,百位 for (i=0; i<b; i++) printf("B"); for (i=0; i<s; i...原创 2019-02-11 22:09:30 · 113 阅读 · 0 评论 -
PAT-乙级B1021-字符串形式输入数字
题目中提到:输入一个不超过 1000 位的正整数 N,故不能再用整型接收输入一: 整型输入,数字不能太大//仅适用于10位内的整数#include <stdio.h>int main(){ int n, temp, i, a[10]={0}; scanf("%d", &n); do { temp=n%10; a[temp]++; n...原创 2019-02-11 23:13:01 · 171 阅读 · 0 评论 -
PAT-乙级B1031-关于字符型数字转化为整型数字(有点东西)
思路每输入一个身份证进行一个核验:a、前17位是否存在非数字,不存在则进行加权求和 b、如果前17位全是数字,核验最后一位是否正确#include <stdio.h>int main(){ int n, i, j, z, count1, count=0, ...原创 2019-02-12 14:26:53 · 322 阅读 · 0 评论 -
PAT-乙级B1002-二维字符数组初始化以及输出
#include <stdio.h>#include <string.h>int main(){ char n[105], pin[10][10]={"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba"原创 2019-02-12 16:45:23 · 173 阅读 · 0 评论 -
PAT-乙级B1009-说反话(将含有空格的字符串分类存储于二维字符数组中)
#include<stdio.h>#include<string.h>int main(){ char a[85], b[50][85]; int len, count, i=0, j=0; gets(a); //字符串中间有空格,用gets来接收输入 len=strlen(a); for(count=0; count<l...原创 2019-02-12 17:56:46 · 194 阅读 · 2 评论 -
PAT-乙级B1028-"2018/01/30"转化为数字20180130(字符数组转化为整型数字-sprintf-sscanf)
#include <stdio.h>#include<string.h>int main(){ int n, i, year, month, day, count=0, temp, low=20140906, high=18140906; char name[10], num[10], low_name[10]={"NULL"}, high_name...原创 2019-01-30 13:31:15 · 201 阅读 · 0 评论 -
PAT-乙级B1004-字符串赋值 strcpy(字符数组1,字符数组2)
#include <stdio.h>#include <string.h> //调用字符串函数const int maxSize=110;struct student{ char name[15]; char id[15];} score[maxSize]; //定义结构体int main(){ int n, i, n...原创 2019-01-29 17:08:55 · 408 阅读 · 1 评论 -
PAT-乙级B1001-没难度
#include<stdio.h>int main() { int n, count=0; scanf("%d", &n); while(n!=1) { if (n%2==0) n=n/2; else n=(3*n+1)/2; count++; } printf("%d\n", coun...原创 2019-01-23 16:15:16 · 170 阅读 · 0 评论 -
PAT-乙级B1011-long long型(vc 6.0不兼容)
#include <stdio.h>int main (){ int t, i; long long a, b, c; //此处为long long 型,vc中不能编译,gcc可以. //_int64 a, b, c; //vc 6.0写法 scanf("%d", &t); for (i=...原创 2019-01-24 17:29:48 · 299 阅读 · 3 评论 -
PAT-乙级B1016-7个6的两种写法
#include <stdio.h>#include <math.h>int main(){ long long a, da, pa=0, b, db, pb=0; int count=0; scanf("%lld %lld %lld %lld", &a, &da, &b, &db); while(a!...原创 2019-01-24 18:33:35 · 121 阅读 · 0 评论 -
PAT-乙级B1026-时:分:秒的表示
#include <stdio.h>#include <math.h>int main(){ int c1, c2, t, hh, mm, ss; scanf("%d %d", &c1, &c2); t=(c2-c1)/100; if((c2-c1)%100>=50) t++; hh=t/3600; ...原创 2019-01-25 11:13:14 · 122 阅读 · 0 评论 -
PAT-乙级B1046-没难度
#include <stdio.h>int main(){ int jia=0, yi=0, a1, a2, b1, b2, n, i; scanf("%d", &n); for (i=0; i<n; i++) { scanf("%d %d %d %d", &a1, &a2, &b1, &b2)...原创 2019-01-25 11:30:36 · 87 阅读 · 0 评论 -
PAT-乙级B1008-数组元素循环右移(分段存储 或者 分段输出 或者 循环数组)(有点东西)
//法一:分段存储#include <stdio.h>int main(){ int n, m, i; int a[150]; scanf("%d %d", &n, &m); m=m%n; //先处理m的值 f...原创 2019-01-25 18:12:32 · 116 阅读 · 0 评论 -
PAT-乙级B1012-数字分类
//数字分类:给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1 = 能被 5 整除的数字中所有偶数的和; A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2+n3−n4⋯; A3 = 被 5 除后余 2 的数字的个数; A4 = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;...原创 2019-01-26 17:22:01 · 122 阅读 · 0 评论 -
PAT-乙级B1018-锤子剪刀布
不难,有点繁琐。思路是:1、分别考虑甲出锤、石头、布的情况下,乙出不同的手势对应的结果。写一段代码,其他两段复制后稍作修改即可。 2、jia[max]数组存储的分别是赢、平、输的次数,乙的反过来输出即可。 3、a[max]数组存储的分别是出C、J、B赢的次数,b[max]数组存储的分别是出C、J、B赢的次数。 ...原创 2019-01-26 18:44:38 · 149 阅读 · 0 评论 -
PAT-乙级B1010-没有给定输入的结束条件(有点东西)(while... EOF)
//printf("输入完成后立即按下enter\n");#include <stdio.h>int main (){ int x1, e1, x2[1005], e2[1005], count=0, i; char a; do { scanf("%d %d", &x1, &e1); a=getchar()...原创 2019-01-28 11:08:13 · 300 阅读 · 0 评论 -
PAT-乙级B1041-结构体对输入预处理(有点东西)
#include <stdio.h>int main(){ int n, m, i, s1, k1, s2; long long temp, a[1005][5]; //用a数组存储输入信息 scanf("%d", &n); for (i=1;i<=n;i++) { scanf("%lld %d %d", ...原创 2019-01-28 23:03:04 · 125 阅读 · 0 评论 -
PAT-乙级B1024-科学计数法转化为普通数字表示法(移动小数点法)
思路1、先将输入进行分类,即第一个数字及其符号、指数及其符号。2、如果第一个数字是负数,先打印一个 负号;如果指数为0,则第一个数字直接打印出来。3、分类讨论:正指数(以字符交换方式移动小数点) a、小数点往后移就行了,不需要加零,直接输出; b、小数点往后移不需要加零,但小数点要抹掉; c、小数点移到末端并改为零,且看情况加零3、分类讨论:负指数(以...原创 2019-02-14 23:00:11 · 395 阅读 · 0 评论 -
PAT-乙级B1014-福尔摩斯密码-处理字符串(有坑)
#include <stdio.h>int main(){ int i, count=0, count1=0, b[70]; char a1[70], a2[70], a3[70], a4[70], week[10][5]={"MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"};原创 2019-02-13 14:24:18 · 484 阅读 · 0 评论