C语言编程,我自己写的程序出问题了,不知道怎么改,求高手指点,在线等,急

#include<stdio.h>
double fact(double n)
{
double a=1;
while(n>0);
a*=n;
n--;
return a;
}
double cal(double x,double n)
{
double b;
b=(x^n)/fact(n)
return b;
}
double main()
{
double x,n;
scanf("%lf,%lf",&x,&n);
printf("%lf",b);
}
我编的程序,不知道哪里错了。求高手指点,在线等,急
定义函数fact(n)计算n的阶乘,函数返回值类型是double;定义函数cal(x,n)计算x^n/n!,函数返回值类型是double,要求调用fact函数计算n!;定义函数main(),输入正整数n和实数x,计算并输出下列算式的值,要求调用函数cal(x,n)计算每一项y=1+x/1!+x^2/2!+x^3/3!+....+x^n/n!

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

double fact(unsigned int n)
{
double a = 1.0;
while(n > 0)
{
a *= n;
n--;
}

return a;
}

double cal(double x, unsigned int n)
{
return pow(x, n) / fact(n);
}

int main(int argc, char *argv[])
{
double x;
int n;
scanf("%lf,%d",&x,&n);
printf("%lf\n", cal(x, n));
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-19
^是“异或”操作符而不是乘方操作符……
第2个回答  2015-11-19
^是异或追问

怎么改呢?

相似回答