问题
单项选择题
以下程序的功能是计算:
。 #include <stdio.h> 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",;
答案
参考答案:C
解析: 该程序的运行结果是1.0000,算法错误。在s=s+1/n中,因为n为整型,所以循环中1/n始终为0。这就是本题算法错误的原因。应把s=s+1/n改为s=s+1.0/n。