苏晨阳 @ 2023-08-31 17:21:55
此处似乎不严谨
printf("%lf\n", sqrt(117));
printf("%f\n", sqrt(117));
cout<<sqrt(117);
三种方式输出的值分别为
10.816654
10.816654
10.8167
题目没有规定保留多少位小数,同时只有cout可以ac这个点(使用的编译器为Dev-C++ 5.11)
by EricWan @ 2023-08-31 17:25:52
赞成,这应该改,另外请求将底下代码框的语言改为“cpp”。
by One_JuRuo @ 2023-08-31 17:27:32
@苏晨阳 大概是因为给水平较低的选手出的,可能是考虑到他们不太会用 printf
?相同的数据用 cout
输出是一样的,而且这样出题不是减少你的麻烦吗?
by 苏晨阳 @ 2023-09-01 08:38:55
@One_JuRuo 虽说是这样,不过毕竟是不严谨awa
by One_JuRuo @ 2023-09-01 08:40:12
@苏晨阳 cout
有自己的精度,也不能说不严谨吧,而且题目也说得明明白白,我觉得不能算是不严谨。
by 苏晨阳 @ 2023-09-01 08:40:22
@One_JuRuo 而且从编译器上的输出来看,printf和cout输出保留的小数位数不同,也就导致有一个测试点只有cout能ac。。。
by One_JuRuo @ 2023-09-01 08:41:56
@苏晨阳 题目的要求啊,你不对是因为没按照题目的要求输出啊,有什么不严谨的?
by One_JuRuo @ 2023-09-01 08:47:22
题目没说,但是默认的 cout
是有精度的,所以这里默认的是6位精度,比如:123.22222222 就会输出123.222,1.1234124 就会输出1.12341
by 苏晨阳 @ 2023-09-01 09:00:01
awa,只能说用printf习惯了,确实没注意