系统粉 > 电脑问答 > 其他问答

已解决这道题哪里错了???

提问者:呆呆木木扣扣  |  浏览次  |  提问时间:2017-02-17  |  回答数量:6

这道题哪里错了??? 编写一个sum函数,他的功能是计算下列级数之和。S=1+x+x^2/2!+x^3/3!++++x^n/n!程序:/* Note:Your choice is C IDE */#include \"stdio.h\"int fac(int b){float f; if(b==1)f=1;elsef=fac(b-1)*b;return(f);}int sum(int a,int b){int i,j;float z,w,v,p;v=1;p=a;for(i=0;i<b;i++) { for(j=0;j<b;j++)v=v*p; w=fac(b); z=z+v/w; } return(z);}main(){int x,n;float s;s=1;printf(\"s=1+x+x^2/2!+x^3/3!+x^n/n!\\n\");printf(\"请输入x,n的值:\\n\");scanf(\"%d%d\",&x,&n);s=s+sum(x,n);printf(\"结果为:%f\\n\",s);}

已有6条答案
only_yuk

only_yuk

回答数:95  |  被采纳数:53

z=z+v/w;z没初始化
2017-02-17 10:42:26
赞 9
蓝色的晨馨

蓝色的晨馨

回答数:170  |  被采纳数:118

我把z的初值设置为0,结果为负数???
2017-02-17 10:11:03
赞 17
空趋

空趋

回答数:145  |  被采纳数:125

调试一下,我输入2 3显示98
2017-02-17 09:54:01
赞 14
與你共享o

與你共享o

回答数:21  |  被采纳数:53

我的那个程序错了,汗死!!!
2017-02-17 19:49:23
赞 2
回忆中的烟熏妆

回忆中的烟熏妆

回答数:107  |  被采纳数:56

我改了这个样子:
/* Note:Your choice is C IDE */
#include "stdio.h"
int fac(int b)
{
float f;
if(b==1)
f=1;
else
f=fac(b-1)*b;
return(f);
}
int sum(int a,int b)
{
int i,j,p;
float z,w,v;
v=1;
z=1;
p=b;
for(i=0;i<b;i++)
{
for(j=0;j<p;j++)
v=v*a;
w=fac(p);
z=z+(v/w);
p--;
}
return(z);
}
main()
{
int x,n;
float s;
s=1;
printf("s=1+x+x^2/2!+x^3/3!+x^n/n!\n");
printf("请输入x,n的值:\n");
scanf("%d%d",&x,&n);
s=s+sum(x,n);
printf("结果为:%f\n",s);
}
输入:2和3,结果是83,郁闷,差别太大了!
2017-02-17 15:21:32
赞 10
平湖当湖中学

平湖当湖中学

回答数:169  |  被采纳数:105

哎,算了,看来自己要慢慢去看看啦! (1)
2017-02-17 12:19:31
赞 16
相关问答
最新其他问答
解决方法