算法笔记-note1

-简单介绍OJ的做题技巧

小写字母的ASCII码值比大写字母的大32

字符常量必须用单引号来标注

使用scanf,数组不需要加&运算符,因为数组名称本身就代表这个数组第一个元素的地址。

scanf的%c格式是可以读取空格和换行的

典型输出格式:
1.%md可以使不足m位以m位进行右对齐输出,其中高位用空格补齐;
如果变量本身超过m位,则保持原样。

  1. %.mf可以使让浮点数保留m位小数输出,保留使用的是“四舍六入五成双”规则.

typedef用来给复杂的数据类型起别名.

1
2
//给long long类型起别名L
typedef long long L;


常用math函数
1.fabs(double x)函数
此函数用于对double型变量取绝对值
2.floor(double x)函数
此函数用于double型变量的向下取整
3.ceil(double x)函数
此函数用于double型变量的向上取整
4.pow(double r,double p)函数
此函数用于返回$r^p$
5.sqrt(double x)
此函数用于返回double型变量的算数平方根
6.log(double x)
此函数用于返回double型变量的以自然对数为底的对数
7.sin(double x)、cos(double x)、tan(double x)
返回double型变量的sin,cos,tan值
8.round(double x)
该函数用于将double型变量x四舍五入,返回类型也是double型


memset函数
使用memset函数需要加头文件string.h头文件

1
2
memset( a , 0 ,sizeof(a));//将数组a的元素全部赋值为0
memset( a , 1 ,sizeof(a));//将数组a的元素全部赋值为1


gets函数用于输入一行字符串(gets识别换行符\n作为输入结束)
puts函数用于输出一行字符串并换行


string.h头文件
1.strlen函数
strlen函数可以得到字符数组中第一个\0前的字符的个数
2.strcmp函数
strcmp函数返回两个字符串大小的比较结果,按照字典序进行比较,如果字符数组1<字符数组2,返回一个负整数;如果字符数组1==字符数组2,则返回0;如果字符数组1>字符数组2,则返回一个正整数。
3.strcpy函数
strcpy函数可以把一个字符串复制给另一个字符串

1
2
strcpy(str1,str2);
//把字符数组2复制字符数组1

4.strcat函数
strcat函数可以把一个字符串接到另一个字符串

1
2
strcat(str1,str2);
//把字符数组2接到字符数组1后面

5.sscanf函数
sscanf函数的作用是把字符数组str中的内容合并以%d的形式写到n中

1
sscanf(str,"%d",&n);

6.sprintf函数
sprintf函数的作用是把整数n的每一位拆分写入字符数组中

1
sprintf(str,"%d",n);


典型输入方式
1.while…EOF型

1
2
3
while(scanf("%d", &n)!=EOF){
}

2.while(T–)型
在给定测试数据组数的情况下,使用这种类型的输入


典型输出类型
1.正常输出
2.每组数据输出之后都额外加一个空格
直接加printf(“\n”);
3.两组输出数据之间有一个空格,最后一局数据后面没有空格
只需对是否是最后一行进行判断即可


Thanks for your reward!