要求以下程序的功能是计算main() {int n;float s; s=1.0; for(n=10;n>1;n--) s=s+1/n; pfintf("%6.4f\n",s); } 程序

admin2013-02-23  30

问题 要求以下程序的功能是计算main()    {int  n;float  s;       s=1.0;       for(n=10;n>1;n--)       s=s+1/n;      pfintf("%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",8);

答案4

解析 程序中由于n为整型,所以1/n的结果始终为0,故程序最后输出的结果为0,其结果错误,原因为在表达式1/n中1和n均为整型,所以应该将1改为1.0,这样表达式1.0/n的值不为0,为该数学表达式的值,因此我们可以知道导致程序运行后输出结果错误的行为s=s+1/n。
转载请注明原文地址:https://kaotiyun.com/show/tnJp777K
0

最新回复(0)