代码意思相同,输入结果不一样,求助!
#include<stdio.h>int main()
{
int i,n;
int d=1;
double sum=0.0;
scanf("%d",&n);
for (i=1;i<=n;i++)
{ sum=sum+1.0/d;
d+=2;
}
printf("%.6lf",sum);
return 0;
}
#include<stdio.h>
int main()
{
int i,n;
double sum=0.0;
scanf("%d",&n);
for (i=1;i<=n;i+=2)
{ sum=sum+1.0/i;
}
printf("%.6lf",sum);
return 0;
}
当输入23时,答案不一样,为什么。 本帖最后由 番杰 于 2021-12-13 17:36 编辑
两个代码循环的次数不一样。
第一个:for (i=1;i<=n;i++) 输入23,循环23次
第二个:for (i=1;i<=n;i+=2) 输入23,循环12次
注意 i++ 和 i += 2 ;一个i自增1,一个i自增2。
循环次数不同,
结果肯定不一样。
页:
[1]