- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 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 188
原创 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 224
原创 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 227
原创 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 204
原创 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 318
原创 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 189
原创 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 180
原创 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 177
原创 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 210
原创 Pat.Basic level.1005. 继续(3n+1)猜想
这道题目其实难度不是很大,就是只要记录你在运行过程中用到的数字,然后把这些数字放在一个数组的ID里,如果数字在就写为1.否则为初始值。 之后从你要寻找的数字里,在list中做一个遍历。看是否存在,如果不存在list中说明就是你要寻找哒。将它放入另外一个数组final中。 final最后要求排序,记得从大到小排。 PPPPPPS:最重要的一点,记录数字的那个数组一定要大一点,否则后面几个测试点会
2017-02-12 20:39:49 251
原创 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 547
原创 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 216
原创 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 296
原创 C语言,排序
好像这个不是叫快排,应该是最简单的排序。#include<stdio.h>int max(int a[], int len){ int i; int maxid = 0; for ( i=1; i<len; i++) { if ( a[i] > a[maxid]){ maxid = i; } }
2017-01-19 13:36:42 222
原创 C语言。二分法
就写了一个函数段,套着用就好了int search(int key. int a[]. int len){ int ret = -1; int left = 0; int right = len -1; while (right > left){ int mid = (left + right)/2; if (a[mid] == k)
2017-01-19 12:58:32 379
原创 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 223
原创 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 160
原创 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 219
原创 第八周 mooc C 单词长度
#include<stdio.h>int main(void){ int i; char a; i = 0; while (1) { scanf("%c",&a); if(a=='.'){ printf("%d",i); break; } if (
2017-01-17 21:21:09 660
原创 C语言,字符串
字符数组 char word[] ={‘H’,’e’,’l’,’l’,’o’,’!’}; But, 这个叫字符数组,并不是字符串。字符串 char word[]={‘H’,’e’,’l’,’l’,’o’,’\0’}; \0 就是代表一个整数0.字符串是以0(整数0)结尾的一串字符 0或’\0’是一样的,但是和’0’不同 0标志字符串的结束,但它不是字符串的一部分。 计算字符串长度
2017-01-17 20:21:20 405
原创 C语言,指针
sizeof //是一个运算符,给出某个类型或变量在内存中所占据的字节数。 sizeof(int) //算int占字节 sizeof(i) //算 i这个变量占多少运算符& 作用:获得变量的地址,它的操作数必须是变量 int i; printf(“%x”,&i); //这个是获取i的地址。 得到的结果是在内存中i的地址。但这个是不正确的,获得地址应该用%p. //32位结构和64
2017-01-17 18:21:32 248
原创 C语言,数组
输出比平均数大的数#include<stdio.h>int main(){ int x; double sum = 0; int cnt = 0; int number[100]; scanf("%d",&x); //读数判断 ,不过我感觉如果第一个数就是-1 那别读了啊… while (x!=-1){ number[cnt]
2017-01-17 01:01:05 275
原创 C语言,函数部分
求和函数#include<stdio.h>void sum(int begin, int end){ int i; int sum = 0; for ( i=begin; i<=end; i++){ sum += i; } printf("%d到%d的和是%d\n", begin, end, sum);}int main(){
2017-01-16 21:42:04 277 1
原创 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 226
python绝技:运用python成为顶级黑客.pdf
2017-09-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人