OJ刷题入门的基础点

编程细节总结:
1
int 类型占4个字节,每个字节占8位,所以一共有32位,除去一位符号位,也就31位,能表示整数大小是2^31 次方 2^10约等于10^3 所以 2^31约等于10^9,以便估计是否超时
2 保证四舍五入最简单的方法就是在小数基础上 +0.5 再截取整数部分
b = (0.5 + (double)(b - a) / 100);
3输入输出上的问题:
    
(1)scanf双引号中的内容就是整个输入,比如,hh:mm:ss怎么输入,就是scanf(“%d:%d%d”,&hh,&mm,&ss);
再比如scanf(“%d,%lf,%c”,&a,&b,&c);
(2)除了%c scanf对其它格式,如%d,是以空白符即空格,换行等为结束标志的,字符数组使用%s读入的时候,以空格和换行为读入结束的标志,
%c会读入空格和换行的(因此特别注意,当读入一个整数或者其他,换行后缓冲区会留下\n,紧接着如果用%c读数据,会把换行读入,导致读入错误数据)
(3)3种常用的输出 %md,%0md,%.mf(保留几位小数,精确到小数点后几位)
(4)getchar() 可以识别换行符,经常用来取走缓冲区的回车符,gets()也会识别换行作为结束,所以,在scanf一个整数后,要用gets()读数据之前,一定要getchar()把换行读走。
(5)typedef 用来给很复杂的东西起别名
4常用的math函数有:
    fabs(double x),floor(double x)和ceil(double x),pow(double r,double p),sqrt(double x),log(double x),
sin(double x),cos(double x),tan(double x),asin(double x),acos(double x),atan(double x),round()四舍五入函数
5其他有用函数
(1)strlen(),strcmp(),strcpy(),strcat()
(2)scan与sprintf()
回忆scanf(“%d”,&n); printf(“%d”,n);事实上,上面的写法也可写scanf(screen,”%d”,&n);printf(screen,”%d”,n);
实际上,scanf是标准输入流,把screen的内容以%d的格式传输到n中(从左至右),print恰把n以%d的格式传输到screen(从右至左),而sprint和scan格式与上面相同,只不过把screen换成了字符数组 sscanf(str,”%d”,&n); sprintf(str,“%d”,n);
还可以修改格式 如str = “2048:3.14,hello”; sscanf(str,”%d:%f,%s”,&n,&db,str2);
6其它注意的点
(1)两个int型指针相减,等价于在求两个指针指间相差几盒int
还有几个地方,在晴神宝典入门的后面,没必要死记,重在理解, 然后多去应用,重复才能熟练起来。

    

你可能感兴趣的:(算法入门)