问题 单项选择题

以下程序的功能是计算:

。 #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。

选择题
单项选择题