1. 问题
代码意思相同,输入结果不一样,求助!
#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;
}
2. 回答
两个代码循环的次数不一样。
第一个:for (i=1;i<=n;i++) 输入23,循环23次
第二个:for (i=1;i<=n;i+=2) 输入23,循环12次
注意 i++ 和 i += 2 ;一个i自增1,一个i自增2。
循环次数不同,
结果肯定不一样。