计算机二级

要求以下程序的功能是计算:s=1+1/2+1/3+…+…1/10main( ){ 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);

题目

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

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);

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

【单选题】要求以下程序的功能是计算:s=1+1/2+1/3+…+1/100。 #include<stdio.h> int main() { int n;float s; s=1.0; for(n=100;n>1;n--) s=s+1/n; printf(“%6.4fn”,s); return 0; }

A.s=1.0;

B.for(n=100;n>1;n--)

C.s=s+1/n;

D.printf(“%6.4fn”,s);


统计输入的10个数据中负数的个数

第2题:

以下程序的功能是计算:s= 1+1/2+1/3+……+1/10,程序运行后输出结果错误,导致错误结果的程序行是 #include <stdio.h> int main() { int n; float s; s=1.0; for(n=10;n>1;n--) { s=s+1/n; } printf("%6.4fn",s); return 0; }

A.for(n=10;n>1;n--)

B.s=1.0;

C.s=s+1/n;

D.printf("%6.4fn",s);


C 解析:程序中由于n为整型,所以1/n的结果始终为0,故程序最后输出的结果为0,其结果错误,原因为在表达式1/n中1和n均为整型,所以应该将1改为1.0,这样表达式1.0/n的值不为0,为该数学表达式的值,因此我们可以知道导致程序运行后输出结果错误的行为s=s+1/n;,所以,4个选项中选项C符合题意。

第3题:

以下程序的功能是计算:s= 1+1/2+1/3+……+1/10,程序运行后输出结果错误,导致错误结果的程序行是#include <stdio.h> int main() { int n; float s; s=1.0; for(n=10;n>1;n--) { s=s+1/n; } printf("%6.4fn",s); return 0; }

A.s=s+1/n;

B.printf("%6.4fn",s);

C.for(n=10;n>1;n--)

D.s=1.0;


C 解析:程序中由于n为整型,所以1/n的结果始终为0,故程序最后输出的结果为0,其结果错误,原因为在表达式1/n中1和n均为整型,所以应该将1改为1.0,这样表达式1.0/n的值不为0,为该数学表达式的值,因此我们可以知道导致程序运行后输出结果错误的行为s=s+1/n;,所以,4个选项中选项C符合题意。

第4题:

20、以下程序的功能是计算:s= 1+1/2+1/3+……+1/10,程序运行后输出结果错误,导致错误结果的程序行是 #include <stdio.h> int main() { int n; float s; s=1.0; for(n=10;n>1;n--) { s=s+1/n; } printf("%6.4f\n",s); return 0; }

A.s=s+1/n;

B.printf("%6.4f\n",s);

C.for(n=10;n>1;n--)

D.s=1.0;


D

第5题:

要求以下程序的功能是计算:s=1+1/2+1/3+…+1/100。 main() { int n; float s; s=1.0; for(n=100;n>1;n--) s=s+1/n; printf("%6.4fn",s); } 程序运行后输出结果错误,导致错误结果的程序行是()。

A.s=1.0;

B.for(n=100; n>1;n--)

C.s=s+1/n;

D.printf("%6.4fn",s);


C

第6题:

以下程序的功能是计算:s= 1+1/2+1/3+……+1/10,程序运行后输出结果错误,导致错误结果的程序行是 #include <stdio.h> int main() { int n; float s; s=1.0; for(n=10;n>1;n--) { s=s+1/n; } printf("%6.4fn",s); return 0; }

A.s=s+1/n;

B.printf("%6.4fn",s);

C.for(n=10;n>1;n--)

D.s=1.0;


C 解析:程序中由于n为整型,所以1/n的结果始终为0,故程序最后输出的结果为0,其结果错误,原因为在表达式1/n中1和n均为整型,所以应该将1改为1.0,这样表达式1.0/n的值不为0,为该数学表达式的值,因此我们可以知道导致程序运行后输出结果错误的行为s=s+1/n;,所以,4个选项中选项C符合题意。

第7题:

要求以下程序的功能是计算:s= 1+1/2+1/3+……+1/10 int main() { int n; float s; s=1.0; for(n=10;n>1;n--) s=s+1/n; printf("%6.4fn",s); return 0; } 程序运行后输出结果错误,导致错误结果的程序行是

A.s=s+1/n;

B.s=1.0;

C.for(n=10;n>1;n--)

D.printf("%6.4fn",s);


C

第8题:

要求以下程序的功能是计算:s=1+1/2+1/3+…+1/100。程序运行后输出结果错误,导致错误结果的程序行是( )。

A.s=1.0;

B.

C.S=S+1/n;

D.


正确答案:C
本题的考查点是查找程序运行错误的原因。主要考查运算中字符的转换。初看此题,可能不太容易发现错误,该题的运行结果是1.0000,算法错误。s=s+1/n;1/2=0,因为n为整型,所以1/n都为0。这就是导致本题出错的原因。s=s+1/n应改为s=s+1.0/n。

第9题:

要求以下程序的功能是计算s=1+1/2+1/3+…+1/10 main() { int n; float s; s=1.0; for(n=1O;n>1;n--) s=s+1/n; printf("%6.4f\n",s); } 程序运行后输出结果错误,导致错误结果的程序行是( )。

A.s=1.0;

B.for(n=1O;n>l;n--)

C.s=s+1/n;

D.printf("%6.4f\n",s);


正确答案:C
解析:程序中由于n为整型,所以1/n的结果始终为0,故程序最后输出的结果为0,其结果错误,原因为在表达式1/n中1和n均为整型,所以应该将1改为1.0,这样表达式1.0/n的值不为0,为该数学表达式的值,因此可以知道导致程序运行后输出结果错误的行为“s=s+1/n;”,所以,4个选项中选项C符合题意。