sscanf
摘要:函数原型:Int sscanf(string str,string fmt, mixed var1, mixed var2 ...);int scanf(constchar*format [,argument]...);说明:sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。其中的format可以是一个或多个{%[*][width][size]type |' '|'\t'|'\n'|非%符号}注:1、*亦可用于格式中,(即%*d 和%*s)加了星号(*)表示跳过此数据不读入.(也就是不把
阅读全文
posted @
2013-07-10 21:48
wwjyt
阅读(9251)
推荐(0)
switch case
摘要:还要注意 break 与 default,下面的样例没有此二点输入年月日,判断这一天是这一年的第几天。#includeint main(){int year,month,date,leap,days=0;scanf("%4d%2d%2d",&year,&month,&date);leap=(year%4==0&&year%100!=0||year%400==0);switch(month){case 12:days+=30;case 11:days+=31;case 10:days+=30;case 9:days+=31;case 8
阅读全文
posted @
2013-07-09 23:41
wwjyt
阅读(327)
推荐(0)
sort
摘要:struct node{ char str[22]; int num; int score;}stu[N];bool cmp(const node &a, const node &b){ if(a.score == b.score) return strcmp(a.str, b.str) b.score;}sort(stu , stu + N, cmp);
阅读全文
posted @
2013-07-08 21:00
wwjyt
阅读(146)
推荐(0)
int ,long , long long类型的范围
摘要:unsigned int 0~4294967295int 2147483648~2147483647unsigned long 0~4294967295long 2147483648~2147483647long long的最大值:9223372036854775807long long的最小值:-9223372036854775808unsigned long long的最大值:18446744073709551615__int64的最大值:9223372036854775807__int64的最小值:-9223372036854775808unsigned __int64的最大值:1844
阅读全文
posted @
2013-07-07 22:55
wwjyt
阅读(248)
推荐(0)
64位 __int 与 long long写法
摘要:在做ACM题时,经常都会遇到一些比较大的整数。而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647。而unsigned范围是[0,2^32),即0~4294967295。也就是说,常规的32位整数只能够处理40亿以下的数。 那遇到比40亿要大的数怎么办呢?这时就要用到C++的64位扩展了。不同的编译器对64位整数的扩展有所不同。基于ACM的需要,下面仅介绍VC6.0与g++编译器的扩展。 VCVC6.0的64位整数分别叫做__int64与unsigned __int64,其范围分别是[-2^63, 2^..
阅读全文
posted @
2013-07-03 11:42
wwjyt
阅读(714)
推荐(0)
printf sscanf进阶
摘要:printfint a = 35;printf ("%03d", a);//将打印 035printf(“%-*s”, width, string); “*”: 在这里用width代替,其实和printf(“%-10s”, string) 一样,都是控制左对齐的,只是把“10”这个数字给参数化了。scanffscanf里面一般不写反斜杠n定义函数 int sscanf (const char *str,const char * format,........);函数说明 sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考.
阅读全文
posted @
2013-07-02 23:01
wwjyt
阅读(413)
推荐(0)
ungetc
摘要:功 能把一个字符退回到输入流中用 法int ungetc(char c, FILE *stream);输入参数c 要写入的字符,stream 文件流指针输出参数字符c - 操作成功,EOF - 操作失败 while( (temp = getchar()) != '\n') { ungetc(temp, stdin); for(i = 0; i < n; i++) { scanf("%d", &mark[now][i]); } getchar(); now++;//now记录了有几行选票! 别忘了3行下标为2 }
阅读全文
posted @
2013-02-26 06:57
wwjyt
阅读(199)
推荐(0)
memset
摘要:将s所指向的某一块内存中的每个字节(八位二进制数)的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向S的指针。void *memset(void *s,int ch,size_t n); 函数解释:将 s 中前 n 个字节用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。常见错误:1.其实这个错误严格来讲不能算用错memset,但是它经常在使用memset的场合出现 int some_func(struct something *a){ …
阅读全文
posted @
2013-02-26 05:34
wwjyt
阅读(194)
推荐(0)
文件操作 freopen fopen FILE* fscanf fprintf fclose remove rename fseek
摘要:freopenfreopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout);FILE*fin,*fout; 文件指针fin=fopen(“data.in”,“rb”);fout=fopen(“data.out”,“wb”);对于文件使用方式有以下几点说明:1)文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:r(read): 读w(write): 写+: 读和写a(append): 追加t(text): 文本文件,可省略不写b
阅读全文
posted @
2013-02-23 02:05
wwjyt
阅读(476)
推荐(0)
strncmp strstr____asderwsde,寻找其中的一个子字符串比如sde的个数
摘要:编写一个函数,已知一个字符串,比如asderwsde,寻找其中的一个子字符串比如sde的个数,如果没有返回0,有的话返回子字符串的个数。函数的原型为int num_of_substring(const char* string,const char *substring);利用strncmp函数名: strncmp 功 能: 串比较 用 法: int strncmp(char *str1, char *str2, int maxlen); 说明:此函数功能即比较字符串str1和str2的前maxlen个字符。如果前maxlen字节完全相等,返回值就=0;在前maxlen字节比较过程中,如果出现
阅读全文
posted @
2013-02-23 02:02
wwjyt
阅读(312)
推荐(0)
strncmp
摘要:strncmp函数名: strncmp功 能: 串比较用 法: int strncmp(char *str1, char *str2, int maxlen);说明:此函数功能即比较字符串str1和str2的前maxlen个字符。如果前maxlen字节完全相等,返回值就=0;在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])。
阅读全文
posted @
2013-02-23 01:55
wwjyt
阅读(277)
推荐(0)