PAT
u012724519
这个作者很懒,什么都没留下…
展开
-
PAT. advance level. T.1001. A+B format
欢迎使用Markdown编辑器写博客 #include<stdio.h> main() { long a,b,c,n,z,i,temp1,sum[10],temp2,temp3,temp4,temp5,temp6,test; c = 0; n = 0; z = 1; i = 0; temp1 = 1; temp2 = 0; temp3原创 2017-01-16 15:45:20 · 209 阅读 · 0 评论 -
PAT.Basic Level.T.1012.数字分类
这道题,我只给这个要注意的点,因为这个我浪费了2个小时。 下面的方法是不用判断第一个数字就可以做出来的:);#include<stdio.h> main(){ int A1[1005]={-1},A2=0,A3,A5[1005]={-1}; int i,n,temp1,temp2,temp5; int sum,max,t,c,test,sum2; float tem原创 2017-02-14 12:58:55 · 208 阅读 · 0 评论 -
PAT.Basic Level. A+B和C
唯一唯一注意的点在于,用double去储存A,B,C.用int和long都会超出大小范围。很难受#include<stdio.h> main(){ double a,b,c; int i,n,ans[100]={0}; scanf("%d",&n); for(i=1;i<=n;i++){ scanf("%lf %lf %lf",&a,&b,&c);原创 2017-02-14 10:54:55 · 185 阅读 · 0 评论 -
PAT.1010.一元多项式求导
用的自己的方法。觉得自己是智障。 在这道题上磨了很久,因为没考虑到导出来结果都是0的情况,在这种情况下, 直接输出0 0就好了。日#include<stdio.h> main(){ char ch; int i,num[10000],temp1,xishu[10000],temp2,zhishu[10000]={-3},spot; temp1=0; do{原创 2017-02-13 17:30:07 · 302 阅读 · 0 评论 -
PAT.Basic Level. T.1009.说反话
首先,这是一道瓜皮题,我刚开始还以为,要每个单词每个单词读入然后一个一个记录字母的去做。后来他喵的发现,直接每个都当字符串整个整个输入就好了啊… 然后倒序循环一下输出就得了… 哇,很难受。#include<stdio.h> main(){ char input[85][85]; int i,temp1; char ch; temp1=0; do{原创 2017-02-13 15:52:12 · 175 阅读 · 0 评论 -
PAT.Basic Level. T.1007.素数对猜想
这道题的核心部分在于优化找素数的部分。必须要用开平方,否则最后的测试点会超时,很难受。不用开平方的话网上也有很多更好的方法啦。总之,你用除二或者直接循环所有数据是不可能AC的哒。#include<stdio.h> #include<math.h> main(){ int z,n,i,temp1,temp2,ans; int prime[10000]={-3}; scanf("原创 2017-02-13 11:31:23 · 163 阅读 · 0 评论 -
pat. basic level. T.1003. 我要通过。QAQ
#include<stdio.h> #include<string.h> void judge(char *str,int a); main(){ char ch[10][100]; int n; int i; int str_num; n = 0; scanf("%d",&n); for(i=1;i<=n;i++){ scan原创 2017-01-19 00:37:34 · 206 阅读 · 0 评论 -
PAT.Basic level.T.1008.数组元素右移
题目有个小技巧,首先m比n大了,那我可以直接把比n多出来的部分删掉。啊这个意思,就是假设n为6 m为6,那相当于没有移动对不对。 n为8, m为10,那相当于一个n为8m为8+n为8,m为2,因为前者相当于没移动,所以直接移动2就好了。#include<stdio.h> main(){ int n,m; int test[105],final[105]; int i;原创 2017-02-13 10:37:07 · 161 阅读 · 0 评论 -
PAT.Basic level.T.1006.换个格式输出整数
没什么好说的,很简单的题目,考点在于把每个位数上的数分开。#include<stdio.h> main(){ int n,i; int unit,decade,hundred; scanf("%d",&n); unit=n%10; n /= 10; decade=n%10; n /= 10; hundred=n; for(i=原创 2017-02-13 10:21:13 · 188 阅读 · 0 评论 -
Pat.Basic level.1005. 继续(3n+1)猜想
这道题目其实难度不是很大,就是只要记录你在运行过程中用到的数字,然后把这些数字放在一个数组的ID里,如果数字在就写为1.否则为初始值。 之后从你要寻找的数字里,在list中做一个遍历。看是否存在,如果不存在list中说明就是你要寻找哒。将它放入另外一个数组final中。 final最后要求排序,记得从大到小排。 PPPPPPS:最重要的一点,记录数字的那个数组一定要大一点,否则后面几个测试点会原创 2017-02-12 20:39:49 · 227 阅读 · 0 评论 -
T.1047.编程团体赛
送分题,基本上没难度,边输入边将队伍的总分进行统计。然后排序,取最高分即可。#include<stdio.h> main(){int max(int a[], int len) { int i; int maxid = 0; for ( i=1; i<len; i++) { if ( a[i] > a[maxid]){ maxi原创 2017-02-12 13:55:41 · 525 阅读 · 0 评论 -
PAT.Basic level. T.1004.成绩排名
这道题的难度在于用结构体导入数据。 然后把分数取出来排序,一开始在纠结会不会超时… 但是事实证明并不会zzz。因为最后只要求一个最大和一个最小。 最后一个循环查找最大rank和最小rank对应的学生名字和课程信息就够了,一次通过很稳健。#include<stdio.h> main(){ int max(int a[], int len) { int i; int maxid = 0原创 2017-02-12 12:28:03 · 205 阅读 · 0 评论 -
PAT.Basic.1065.单身狗! Single Dog!
函数max的就是一个经典排序。 这道题的精髓在于 couple[woman]=man; couple[man]=woman; 相当于一个函数,y=f(x). 男生(x)对应的配偶女生(y) 这样就很方便的从嘉宾里把单身狗区分出来【笑】 接下来就是导入嘉宾guest[i]. 导入嘉宾的时候你可以直接判断couple[guest[i]]!=-1 这个意思是原创 2017-02-12 01:25:46 · 278 阅读 · 0 评论 -
PAT. basic level. 1002
#include<stdio.h> #include<string.h> void printf_num(int num); main() { char str[101]; int z,i,sum; i = 0; sum = 0; scanf("%s",str); i=strlen(str); for(z=0;z<=i-1;z++){原创 2017-01-18 21:25:34 · 143 阅读 · 0 评论 -
PAT basic level T.1001
#include<stdio.h> main() { int a; int i; i = 0; scanf("%d",&a); if (a == 1 ){ printf("%d",0); } while (a!=1 ) { if (a%2==0) { a = a/2;原创 2017-01-18 18:39:38 · 196 阅读 · 0 评论 -
PAT.Basic Level. T.1014.福尔摩斯的约会
这道题,注意几个点: 1.第一个相同的字符,一定要大写,而且一定要是在A到G之间。【因为你第一个相同的表示星期几,又没有星期八对吧】 2.第二个相同的字符,要在大写的A到N和0到9之间,这个题目写了,那不多说。 3.第三个相同的字符,一定是英文字母,大小写都可以。 4.输出的时候,按照格式来,9点也要写成09点。#include<stdio.h> #include<string.h> mai原创 2017-02-16 13:34:20 · 171 阅读 · 0 评论 -
PAT.Basic level.T.1013.数素数
#include<stdio.h> #include<math.h> main(){ int z,i,prime[10001]={0}; int m,n,temp1,temp2,temp3; temp2=1; scanf("%d %d",&m,&n); prime[1]=2; i=3; temp1=0; while(1){ for(z=2;z<=sqrt(i原创 2017-02-14 15:56:22 · 208 阅读 · 0 评论