在程序编辑区编写程序,程序功能如下:函数fun的功能是根据形参m,计算公式 T=1/1!+1/2!+ 1/3!+…+1/m!的值。 请修改并运行该程序 。 程序中有两处错误,错误都在提示行: /found/的下面一行,请考生注意。
时间: 2023-11-10 08:05:12 浏览: 126
C语言程序设计-编写函数fun其功能是:根据整型形参m,计算如下公式的值:y=12!+14!+…+1m!(m是偶数)
好的,让我看一下这段程序:
```c
#include <stdio.h>
double fun(int m)
{
int i;
double t=0,s=1;
for(i=1;i<=m;i++)
{
s=s*i;
t=t+1/s; // /found/ t=t+1/s;
}
return t;
}
int main()
{
int n;double x;
printf("please input a number n:\n");
scanf("%d",&n);
x=fun(n);
printf("1!+2!+3!+...+%d!=%f\n",n,x);
return 0;
}
```
看起来 `fun()` 函数的计算公式有点问题,应该是 `T=1/1!+1/2!+ 1/3!+…+1/m!` 而不是 `1!+2!+3!+...+n!`。此外,提示行的错误应该是 `t=t+1/s;` 而不是 `/found/ t=t+1/s;`。
修改后的程序如下:
```c
#include <stdio.h>
double fun(int m)
{
int i;
double t=0,s=1;
for(i=1;i<=m;i++)
{
s=s*i;
t=t+1/s; // t=t+1/s;
}
return t;
}
int main()
{
int n;
double x;
printf("please input a number n:\n");
scanf("%d",&n);
x=fun(n);
printf("1/1!+1/2!+1/3!+...+1/%d!=%f\n",n,x);
return 0;
}
```
这样就可以正确地计算出 `T=1/1!+1/2!+ 1/3!+…+1/m!` 的值了。
阅读全文