(24)要求以下程序的功能是计算:s= 1+1/2+1/3+……+1/10

(24)要求以下程序的功能是计算:s= 1+1/2+1/3+……+1/10
(资料来源:东方教育网 http://www.eastedu.com.cn)
main()
{ int n; float s;
s=1.0;
for(n=10;n>1;n--)
s=s+1/n;
printf("%6.4f\n",s);
}
程序运行后输出结果错误,导致错误结果的程序行是
A)s=1.0; B)for(n=10;n>1;n--)
C)s=s+1/n; D)printf("%6.4f\n",s);

C
因为 s = s + 1 / n;
n是 int 整型变量
1 / n 是整数除法,当然不对了

将 1 改为浮点数
s = s + 1.0f / n;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-20
运行后的结果为1.0000,导致错误的行是s=s+1/n;
相似回答