程序填空 程序的功能是:求S=1/1!+1/2!+1/3!+…+1/N!并输出结果。N为任意自然数(只考虑int型)

#include <stdio.h>

void fun(double *sn, int n);

int main(void)
{
int n;
double Sum;

printf("Please input n: ");
scanf("%d", &n);

/* 本部分代码功能建议:调用相应的函数计算S */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */

/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */

printf("\nS=1/1!+1/2!+...+1/%d!=%.16f", n, Sum);
return 0;
}

void fun(double *sn, int n)
{
int i;
double Sum=0, jc=1;

for (i=1; i<=n; i++)
{
jc *= i;
Sum += 1 / jc;
}

/* User Code Begin(Limit: lines<=1, lineLen<=30, 考生可在本行后添加代码、最多1行、行长<=30字符) */

/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
}

第1个回答  2011-12-02
fun(&Sum,n);

*sn=Sum;追问

.c(15) : error C2065: 'sum' : undeclared identifier
.c(15) : warning C4133: 'function' : incompatible types - from 'int *' to 'double *'
我也是这样写的来着 有两个错误样

本回答被提问者采纳
第2个回答  2011-12-02
1+1=2
第3个回答  2011-12-02

c程序题以下函数的功能是计算S=1+1\/2!+1\/3!+...+1\/n!
fac=fac*(1.0\/i)

(24)要求以下程序的功能是计算:s= 1+1\/2+1\/3+……+1\/10
n是 int 整型变量 1 \/ n 是整数除法,当然不对了 将 1 改为浮点数 s = s + 1.0f \/ n;

编写一个C语言程序:求S=1\/1+1\/2+1\/3+…+1\/n
void main(){ int i,n;double t,s=0;scanf("%d",&n);for(i=1;i<=n;i++){ t=1.0\/i;\/\/原因在这1和i都是int类型,1\/i就是整除了,只要i>1这个式子就是0,改1.0下就行了。s=s+t;} printf("s=%lf\\n",s);}

编写程序求s=1+1\/2!+1\/3!+……+1\/n的值。
int main(void){ unsigned long n;unsigned long i;double s = 0.0;printf("Please input n:");scanf("%lu", &n);for(i = 1; i <= n; i++)s += 1.0 \/ i;printf("s=%lf\\n", s);return 0;}

C语言问题 计算s=1\/1!+1\/2!+1\/3!+...+1\/n!(n<20,从键盘输入)
include <stdio.h> int main(void){ int n,i,t;double sum=0;printf("输入n:\\n");scanf("%d",&n);for(i=1;i<=n;i++){ t*=i;sum+=1.0\/t; \/*由于sum是浮点数 所以要用这个形势 } printf("sum=%lf",sum);return 0;} 这种写法因该是标准的!仅供参考 ...

...1\/1!+1\/2!+1\/3!+...+1\/n!的值,并输出结果,请填空。
include <stdio.h> void fun(double *sn, int n);int main(void){ int n;double Sum;printf("Please input n: ");scanf("%d", &n);\/* 本部分代码功能建议:调用相应的函数计算S *\/ \/* Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行zhi长<=50字符 *\/ \/...

使用嵌套循环:e = 1+1\/1!+1\/2!+...+1\/n!
3、将初始值0赋给变量n和sum,并将初始值赋给判断变量1。4、输入一个正整数并将其保存在变量k中。5、使用while语句执行循环,并确定条件为judge。6、用if语句确定。如果sum>k,则将变量judge的值更改为0。7、最后,输出公式值。8、运行程序。当输入正整数时,当公式s=1+1\/2+1\/3+…+1\/n...

编写C程序:求1\/1!+1\/2!+1\/3!+...+1\/n!(n!=1*2*3*4...n)急!急!帮帮啊...
include <stdio.h> main(){ int i,n,j=1;double sum=0;printf("输入n的值:");scanf("%d",&n);for(i=1;i<=n;i++){ j=j*i;sum=sum+(1\/double(j));printf("%d ,%f\\n",j,sum);} printf("sum=%f\\n",sum);}

C语言 求s=1+1\/2!+1\/3!+...+1\/n! n为输入值 #include<stdi
include<stdio.h>main(){int b(int);float s;\/\/只有s需要用浮点型int a,i,j,s=0; scanf("%d",&a); for(i=1;i<=a;i++) { j=b(i);\/\/这里改成j s=s+1.0\/(float)j;\/\/这里用1.0 } printf("%f",s);}int b(int i){int c,sum;sum=1;for...

...计算1\/1!+1\/2!+1\/3!+ … +1\/n!。在主函数中输入n的值,调用函数完成...
include<iostream>#include<cmath>#include<iomanip>double fun(int a);int main(){using namespace std;int n = 0;double result;cout << "Enter the number:";cin >> n;cin.get();result = fun(n);cout << setiosflags(ios::fixed) << setprecision(2) << result << "\\n";retu...

相似回答