算法小知识


scanf 返回值
scanf 函数的返回值反映的是按照指定的格式符正确读入的数据的个数。如果输入数据与指定格式不符,则会产生输入错误。遇到输入错误,scanf函数会立即终止,返回已经成功读取的数据的个数。所以,通过scanf函数的返回值和指定输入数据的个数(由格式符决定)的比较,可以判断数据输入是否成功。

gets
gets(s)函数与 scanf("%s",s) 相似,但不完全相同,使用scanf("%s",s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。

memset
memset只是对一个字节赋值,一般情况下用memset对int赋值时,只赋值0或-1,因为这两个数和字节无关,其他情况用for语句来对int赋值。

模四则运算
(a + b) % p = (a % p + b % p) % p (1)

(a - b) % p = (a % p - b % p) % p (2)

(a * b) % p = (a % p * b % p) % p (3)

(a^b) % p = ((a % p)^b) % p (4)
ceil函数 和 floor函数
ceil函数是对实数向上取整,其形式为double ceil(double);
floor函数是对实数向下取整,其形式为double floor(double)。
两个函数同属math函数库。
abs函数 和 fabs函数
abs函数是求整数的绝对值,而fabs函数是求浮点数的函数值;两个函数同属math函数库。

posted @ 2013-03-08 23:58  stackrush  阅读(267)  评论(0编辑  收藏  举报