以下程序的功能是计算: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; }
时间: 2024-01-03 21:04:51 浏览: 295
mysql-connector-java-8.0.29.jar
程序中的错误在于循环的起始值应该是 n=2 而不是 n=10,因为 s 已经初始化为 1.0 了,所以循环应从 2 开始。另外,在计算 1/n 时,应将 n 转换为浮点数类型,即 1.0/n。
正确代码如下:
```
#include <stdio.h>
int main() {
int n;
float s;
s = 1.0;
for(n = 2; n <= 10; n++) {
s = s + 1.0 / n;
}
printf("%6.4f\n", s);
return 0;
}
```
输出结果为:2.9289。
阅读全文