#include<stdio.h> #include<stdlib.h> #include<string.h> int main() { FILE *one; FILE *two; char file1[20]; char file2[20]; printf("enter first file");//获取两个文件 gets(file1); printf("enter the other file"); gets(file2); one=fopen(file1,"r+"); two=fopen(file2,"r+"); char ch,sh; if(one==NULL||two==NULL) { printf("错误!"); exit(1); } int i=0; 继续阅读 >>


陈文浩 17/06/08 20:59:23
Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO". Inputeach test case contains two numbers A and B.  Outputfor each case, if A is equal to B, you should print "YES", or print "NO". Sample Input 1 2 2 2 3 3 4 3 Sample Output NO YES YES NO #include<stdio.h> #include<string.h> void result(char *a); int main() { char a[1000000]; char b[1000000]; while(~scanf("%s %s&qu 继续阅读 >>


陈文浩 17/06/06 20:37:12
Contest time again! How excited it is to see balloons floating around. But to tell you a secret, the judges' favorite time is guessing the most popular problem. When the contest is over, they will count the balloons of each color and find the result.  This year, they decide to leave this lovely job to you.  InputInput contains multiple test cases. Each test case starts with a number N (0 < N <= 1000) -- the total number of balloons distributed. The next N lines 继续阅读 >>


陈文浩 17/06/06 20:30:08
具有即时获得成绩排名的特点。它的功能是怎么实现的呢?  我们做好了题目的解答,提交之后,要么“AC”,要么错误,不管怎样错法,总是给你记上一笔,表明你曾经有过一次错误提交,因而当你一旦提交该题“AC”后,就要与你算一算帐了,总共该题错误提交了几回。虽然你在题数上,大步地跃上了一个台阶,但是在耗时上要摊上你共花去的时间。特别是,曾经有过的错误提交,每次都要摊上一定的单位时间分。这样一来,你在做出的题数上,可能领先别人很多,但是,在做出同样题数的人群中,你可能会在耗时上处于排名的劣势。  例如:某次考试一共8题(A,B,C,D,E,F,G,H),每个人做的题都在对应的题号下有个数量标记,负数表示该学生在该题上有过的错误提交次数,但到现在还没有AC,正数表示AC所耗的时间,如果正数a跟上一对括号,里面有个整数b,那就表示该学生提交该题AC了,耗去了时间a,同时,曾经错误提交了b次,因此对于下述输入数据:    若每次错误提交的罚分为20分,则其排名从高到低应该是这样的:  Josephus 5 376&nbs 继续阅读 >>


陈文浩 17/06/06 20:13:32
//在字符串中实现找到最长数字字符串 #include<stdio.h> #include<string.h> #include<stdlib.h> int findnumstring(char *outputstr,char *inputstr) { char *in=inputstr,*out=outputstr,*temp,*final; int count=0,maxlen=0; while(*in!='\0') { if(*in>47&&*in<58) { for(temp=in;*in>47&&*in<58;in++)//temp记录开始的地址 count++; } else in++; if(maxlen<count) { 继续阅读 >>


陈文浩 17/06/03 21:39:10
    char *name[7]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};     char message[20]={"wrong answer"}; name作为指针数组,是储存地址的,但是字符串常量就代表了地址。这些字符串字面量被储存在静态内存中。 message作为数组,储存这字符串的副本,所以每个字符串被储存了两次,效率较低 注意:当char *p=“linux”的时候,linux是一个常量,常量内容不可修改(不能p[0]=‘a'这样更改),就像数组名不能进行++。 作者:m0_37787222 发表于2017/6/3 10:05:07 原文链接 继续阅读 >>


陈文浩 17/06/03 10:05:07
指针变量的sizeof ①学过数据结构的你应该知道指针是一个很重要的概念,它记录了另一个对象的地址。既然是来存放地址的,那么它当然等于计算机内部地址总线的宽度。所以在32位计算机中,一个指针变量的返回值必定是4(注意结果是以字节为单位),可以预计,在将来的64位系统中指针变量的sizeof结果为8。 char* pc = "abc"; int* pi; string* ps; char** ppc = &pc; void (*pf)();// 函数指针 sizeof( pc ); // 结果为4 sizeof( pi ); // 结果为4 sizeof( ps ); // 结果为4 sizeof( ppc ); // 结果为4 sizeof( pf&n 继续阅读 >>


陈文浩 17/05/30 22:33:28
#include<stdio.h> int main() { while(1) { fprintf(stdout,"Group"); fprintf(stderr,"XiyouLinux "); getchar(); } return 0; } 如果不输入得到一行,光标停止,如果加换行 但是如果没有输入换行,就会得到下列结果 因为stdout会先放在缓存区,等错误信息打出,在执行清除缓存,所以Group最后写出 如果我们在stdout那一行加上换行就不同了 #include<stdio.h> int main() { while(1) { fprintf(stdout,"Group\n"); fprintf(stderr,"XiyouLinux"); getchar(); } } Group会先 继续阅读 >>


陈文浩 17/05/30 21:40:31
1、关于int和char转换问题 #include<stdio.h> #include<string.h> int main() {     char str[512];     int i;     for(i=0;i<512;i++)         str[i]=-1-i;     printf("%d\n",strlen(str));     return 0; } 解释: 因为在str的时候-1和是整数,默认按32位走,左边高地址,右边低地址 因为char只会读取一字节,只会读一字节 -1-0补码 1111 1111 1111 1111 1111 1111 1111 1111-0000 0000 0000 0000 0000 0000 0000 0000 结果str[0]=(补码1111 1111)-1 -1-255的时候,补码1111 111 继续阅读 >>


陈文浩 17/05/27 11:07:18
一直在纠结%s还有%c的区别,今天就来好好总结一下 1、%c char c; scanf("%c",&c); printf("%d",c);//便于显示 输入:空格(换行) 输出:32((10)//ASCALL码 重点神奇用法 scanf("空格%c",&c)//加上空格此时会忽略空格,换行,还有TAB 2、%s char a[10]; scanf("%s",a); printf("%s",a); 输入:123空格456 输出:123 原因:因为scanf对于%s时会以空格结束 注意:%s同样不接受换行符和TAB 作者:m0_37787222 发表于2017/5/24 21:17:27 原文链接 阅读:52 评论:2 继续阅读 >>


陈文浩 17/05/24 21:17:27