1001 A+B Format
数字转字符串
int snprintf(char *str, size_t size, const char *format, ...);
参数
- str – 目标字符串。
- size – 拷贝字节数(Bytes)。
- format – 格式化成字符串。
- … – 可变参数。
返回值
- 如果格式化后的字符串长度小于等于 size,则会把字符串全部复制到 str 中,并给其后添加一个字符串结束符 \0;
- 如果格式化后的字符串长度大于 size,超过 size 的部分会被截断,只将其中的 (size-1) 个字符复制到 str 中,并给其后添加一个字符串结束符 \0,返回值为欲写入的字符串长度。
1002 A+B for Polynomials
以空格为间隔输入一串数据
while(scanf("%lf", &n[i]) != EOF && getchar() != '\n')
l1++;
浮点数判0
无论是单精度还是双精度浮点类型的数都不能作等值比较,因为存进去的数不一定是你赋值的数,他们之间存在一个最大误差,在误差之内都可以算作相等。
float f = 0;
double dl = 0;
if(fabs(f) <= 1e-5)
printf("f==0");
if(fabs(dl) <= 1e-6)
printf("dl==0");
一般情况下单精度最大误差为1e-5,双精度为1e-6。