请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。程序有点小问题,请高手批改下。ORZ !!

请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。S = 1 + x + x(2)/2! + x(3)/3! + … x(n)/n!

#include <stdio.h>
double fun(int n, int x)
{
int k = 1;
double sum = 0;
int pow;
for(int i=n; i>=1; --i)
{
for(int j=1; j<=i; ++j)
{
k = k * j;
}
sum += (double) pow(x, i) / k;//?
k = 1;
}
return sum;
}
void main()
{
int n = 0, x = 0;
printf( "please input two numbers:" );
scanf( "%d, %d", &n, &x );
printf( "sum=%.2lf \n", (double)fun(n, x)+1 );//?
}

修改:

#include <stdio.h>
#include <math.h>

double fun(int n, int x)
{
int k = 1;
int i,j;
double sum = 0;

for(i=n; i>=1; --i)
{
for(j=1; j<=i; ++j)
{
k = k * j;
}
sum += 1.0 * pow(x, i) / k;
k = 1;
}
return sum;
}
void main()
{
int n = 0, x = 0;
printf( "please input two numbers:" );
scanf( "%d, %d", &n, &x );
printf( "sum=%.2lf \n", fun(n, x)+1);
}追问

sum += 1.0 * pow(x, i) / k;这句好像有点语法错误,把程序拷到编译器看下。

追答

没有呀。
把int pow;去掉了。
这个是系统函数。你再定义的话,就重名了。
#include
#include

double fun(int n, int x)
{
int k = 1;
int i,j;
double sum = 1;

for(i=n; i>=1; i--)
{
for(j=1; j<=i; j++)
{
k = k * j;
}
sum += 1.0 * pow(x, i) / k;
k = 1;
}
return sum;
}
void main()
{
int n = 0, x = 0;
printf( "please input two numbers:" );
scanf( "%d, %d", &n, &x );
printf( "sum=%.2lf \n", fun(n, x)+1);
}

追问

我这里一运行,显示:error C2668: “pow”: 对重载函数的调用不明确?
请你再看下,不好意思。因为发图会很慢,所以不发了。

追答

你直接拷贝我的代码的吗?
你是运行还是编译出错呢?
我觉得你是编译错误。
你没有拷贝我的代码。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-23
把 --i 和 ++j 改为 i-- 和 j++ ;
把sum的定义改为 double sum=1;
就可以得到正确的结果追问

sum += (double) pow(x, i) / k;这一句编译器提示出有语言错误 ,请你看下什么问题?能给这两句一些注释吗?

printf( "sum=%.2lf \n", (double)fun(n, x)+1 );//?

sum += (double) pow(x, i) / k;//?

追答

你需要包含 math.h头文件,在程序最前面添加这一句 《 #include “math.h” 》;

printf( "sum=%.2lf \n", (double)fun(n, x)+1 );// 输出结果,如果这里有+1,那么在fun()函数里的double sum=0就好;

sum += (double) pow(x, i) / k;// 这一句是实现各个项相加,pow(x,i)是x的i次方的函数

追问

谢谢你,不过还有点小问题,看图:

...请编写函数fun,它的功能是计算下列级数和,值由函数值返回...
printf("%lf\\n",fun(x,n));} 0.3 10 1.349859 请按任意键继续. . .

.程序设计题:编写函数fun,它的功能是计算下列级数和,和值由函数值返回...
double fun(double x , int n){ double sum=1;long s=1;for(int i=1;i<n;i++){ s*=i;sum+=pow(x,i)\/s;} return sum;}

急求!!!全国计算机等级考试二级C机考题库 附答案的最好 !急!!!_百度...
1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver\/=m;for(i=0;i<m;i++)if(score[...

C语言编程高手请来解决几道tc程序题
给定程序MODI1.C中函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入, 若k的值为500, 则函数值为4622。 请改正程序中的错误,使程序能输出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!***第三题(40分) 函数fun的功能是: ...

请用c语言编写一个函数fun功能是:计算n门课程的平均分,计算结果作为函 ...
float fun(float a[],int n){ int i;float s=0,t;for(i=0;i<n;n++)s=s+a[i];t=s\/n;return(t);}

求C++高手!!!
1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。 例如,当score数组中的数据为10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据应为10、20、30、40。***2.请编写函数fun,它的功能是:求...

1. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是...
三、程序填空 ( 每空2分,共30分 ) 1. 函数fun的功能是:求出s所指字符串中指定字符的个数,并返回个数。例如,在main函数中,若输入字符串abcdabacaa ,输入指定字符a,则输出结果为5,即字符串abcdabacaa中有5个字符a。请填空。# include <stdio.h>...

计算机二级C语言100套上机填空题和改错题
m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值行会,将低于平均分的分数放在below所指的数组中。例如,但score数组的数据为10、20、30、40、50、60、70、80、90时,函数返回的人数应该时4,below中的数据应为10、20、30、40。注意:部分源程序给出如下。请勿改动主函数main...

新手求解:谁能给我一个Tecplot的安装软件,我下载的都没有“szz、sxx...
function y=fun2(s) clc %s='ABCDEFG' %ans =ABCDEFG sz=abs(s); for k=0:length(sz) if sz(end)==abs('') sz(end)=[]; else break end end y=setstr(sz); %3请编写函数fun3, 函数的功能是:统计一行字符串中单词的个数,作为函数值返回。 规定所有单词由小写字母组成, 单词之间由若干个空格...

国家计算机等级考试考过国家网络技术三级的并且过了的朋友请进来看看我...
程序prog1.c的功能是:选出100以上1000之内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数cnt以及这些素数值的和sum。请考生编写函数countValue( )实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件bc10.out中。 注意:部分源程序存放在文件prog1....

相似回答