#include<stdio.h>
int main()
{
long n;
while (scanf("%ld", &n) != -1)
{
double s = 0.0;
int i, a = 1;
for (i = 1; i <= 2 * n - 1; i += 2)
{
if (((i + 1) / 2) % 2 == 1)
s += 1.0 / i;
else
s -= 1.0 / i;
}
printf("%.5f", s);
}
return 0;
}
为什么是wrong answer
但是提交OJ就是显示wrong answer ,不知道错在哪里
追答你截图给我看看吧
追问提交就是result显示wrong answer
我猜测有可能是你运算符优先级问题。你在for和if条件判断里左右两边加上括号试一试
追问我这样写还是错了
for (i = 1; i <= (2 * n - 1); i += 2)
if ((((i + 1) / 2) % 2) == 1)
你的标准答案是什么啊?我刚才在机器上跑了一下你的代码,然后用计算器验算了一下,没什么问题啊。会不会是答案四舍五入的问题呢?
程序没什么问题。1、退出程序的条件设置有误。2、正负号改得太麻烦。
#include <stdio.h>条件设置错在哪里?我试了下你的代码会超过输出限制