功能:根据整型形参 m,计算某一数据项的值。 y = 1/(100*100)+1/(200*200)+1/(300*300)+ …… +1/(m*m) 例如:若m = 2000,则应输出: 0.000160。 请修改下列程序,使其输出正确结果 /***********FOUND***********/ 后是有问题的代码 #include <stdio.h> /**********FOUND**********/ fun ( int m ) { double y = 0, d ; int i ; /**********FOUND**********/ for( i = 100, i <= m, i += 100 ) { d = (double)i * (double)i ; /**********FOUND**********/ y += 1.0 \ d ; } return( y ) ; } int main( ) { int n = 2000 ; printf( "\nThe result is %lf\n", fun ( n ) ) ; }
时间: 2023-07-18 20:47:26 浏览: 259
C语言程序设计-根据整型形参m,计算如下公式的值:y=15+16+17+18+19+110...+1(m+5)例如:若m
修改后的代码如下:
```c
#include <stdio.h>
double fun(int m) {
double y = 0, d;
int i;
for (i = 100; i <= m; i += 100) {
d = (double)i * (double)i;
y += 1.0 / d; // 将 "\ d" 改为 "/ d"
}
return y;
}
int main() {
int n = 2000;
printf("\nThe result is %lf\n", fun(n));
return 0;
}
```
问题在于 `y += 1.0 \ d ;` 这行代码,应该将 `\` 改为 `/`,即 `y += 1.0 / d;`,表示将每次计算得到的 `1/d` 加到 `y` 上。
阅读全文