2014年4月6日

HDOJ2001计算两点间的距离

摘要: 计算两点间的距离Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 90382Accepted Submission(s): 34566Problem Description输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。Input输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。Output对于每组输入数据,输出一行,结果保留两位小数。Sample Input0 0 0 10 1 阅读全文

posted @ 2014-04-06 20:27 stackhacks 阅读(176) 评论(0) 推荐(0)

HDOJ2000ASCII码排序

摘要: ASCII码排序Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 81279Accepted Submission(s): 33769Problem Description输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。Input输入数据有多组,每组占一行,有三个字符组成,之间无空格。Output对于每组输入数据,输出一行,字符中间用一个空格分开。Sample InputqweasdzxcSample Outpute q wa 阅读全文

posted @ 2014-04-06 20:15 stackhacks 阅读(171) 评论(0) 推荐(0)

2014年4月1日

C语言sprintf与sscanf函数[总结]

摘要: sprintf函数 sprintf函数原型为int sprintf(char *str, const char *format, ...)。作用是格式化字符串,具体功能如下所示:(1)将数字变量转换为字符串。(2)得到整型变量的16进制和8进制字符串。(3)连接多个字符串。举例如下所示: 1 char str[256] = { 0 }; 2 int data = 1024; 3 //将data转换为字符串 4 sprintf(str,"%d",data); 5 //获取data的十六进制 6 sprintf(str,"0x%X",data); 7 ... 阅读全文

posted @ 2014-04-01 21:24 stackhacks 阅读(286) 评论(0) 推荐(0)

2014年3月28日

Linux C编程--格式化I/O

摘要: printf(格式控制,输入表列)例:printf("%d%d",a,b)(1)d格式符:输出一个有符号的十进制整数(2)c格式符:输出一个字符(3)s格式符:输出一个字符串(4)f格式符:输出实数,有几种用法: A.基本型(%f):实数中的整数部分全部输出,小数部分输出6位; B.指定数据宽度和小数位数(%m.nf):%7.2f指定了输出的数据占7列,其中包括2位小数,对其后一位采取四舍五入方法处理。 C.输出的数据向左对齐(%-m.nf):当数据长度不超过m时,数据向左靠(5)e格式符:以指数形式输出实数。 prin... 阅读全文

posted @ 2014-03-28 10:10 stackhacks 阅读(164) 评论(0) 推荐(0)

Linux C编程--打开和关闭流

摘要: 以下函数用于打开和关闭一个流。#include FILE * fopen (const char *pathname, const char *opentype);int fclose (FILE *stream);FILE * freopen (const char *pathname, const char *opentype, FILE *stream);fopen()打开由pathname指定的文件并创建一个与之相连的流。如果该文件不存在,则创建一个新文件。如果打开文件成功,它返回指向此流的指针,否则返回空指针NULL。opentype参数是一字符串,它控制文件打开的方式,其值只能是下 阅读全文

posted @ 2014-03-28 09:47 stackhacks 阅读(999) 评论(0) 推荐(0)

Linux C编程--fork()详解

摘要: 以下给出说明:fork函数#include #include pid_t fork(void);fork调用失败则返回-1,调用成功的返回值见下面的解释。我们通过一个例子来理解fork是怎样创建新进程的。这个程序的运行过程如下图所示。父进程初始化。父进程调用fork,这是一个系统调用,因此进入内核。内核根据父进程复制出一个子进程,父进程和子进程的PCB信息相同,用户态代码和数据也相同。因此,子进程现在的状态看起来和父进程一样,做完了初始化,刚调用了fork进入内核,还没有从内核返回。现在有两个一模一样的进程看起来都调用了fork进入内核等待从内核返回(实际上fork只调用了一次),此外系统.. 阅读全文

posted @ 2014-03-28 08:59 stackhacks 阅读(368) 评论(0) 推荐(0)

2014年3月27日

Linux C编程--main函数参数解析

摘要: 我们经常用的main函数都是不带参数的。因此main 后的括号都是空括号。实际上,main函数可以带参数,这个参数可以认为是 main函数的形式参数。C语言规定main函数的参数只能有两个, 习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为: main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头应写为:main (int argc,char *argv[]) 。由于main函数不能被其它函数调用, 因此不可能在程序内部取得实际值。那么,在何处把实参... 阅读全文

posted @ 2014-03-27 22:59 stackhacks 阅读(1799) 评论(0) 推荐(0)

2014年3月24日

g++ 编译和链接(转)

摘要: 传统意义上的编译程序分两步走 —— 编译和链接:1.编译(compile):指用编译器(compiler)将源代码(source code)生成二进制目标文件(object file),在Windows下也就是 .obj 文件,UNIX下是 .o 文件。编译时,编译器需要的是语法的正确,函数与变量的声明的正确,编译器只检测程序语法,和函数、变量是否被声明,函数并不需要被定义。 UNIX下g++的语法为: g++ -c file.cpp -c 是compile的意思,此命令将会生成 file.o 的目标文件。2.链接(link):找到所要用到函数所在的目标文件,并把它们链接在一起合成为可执行文件 阅读全文

posted @ 2014-03-24 08:46 stackhacks 阅读(224) 评论(0) 推荐(0)

2014年3月23日

C标准库函数实现之strstr(转)

摘要: 看下Linux下的实现:char *strstr(const char *s1, const char *s2){ size_t l1, l2; l2 = strlen(s2); if (!l2) return (char *)s1; l1 = strlen(s1); while (l1 >= l2) { l1--; if (!memcmp(s1, s2, l2)) return (char *)s1; s1++; } return NULL;}思路:检测字符串安全性... 阅读全文

posted @ 2014-03-23 21:09 stackhacks 阅读(203) 评论(0) 推荐(0)

2014年3月18日

vim配置文件

摘要: set nocompatiblesource $VIMRUNTIME/vimrc_example.vimsource $VIMRUNTIME/mswin.vimbehave mswinset guifont=Courier_New:h15:cANSIcolorscheme torteset numb... 阅读全文

posted @ 2014-03-18 15:18 stackhacks 阅读(171) 评论(0) 推荐(0)

导航