永发信息网

c语言勒让德多项式

答案:5  悬赏:50  手机版
解决时间 2021-04-06 15:36
c语言勒让德多项式
最佳答案
公式也有问题
这个应该对了
# include
double p (int n,float x)
{
double j;
if (n == 0)
j = 1;
else if (n == 1)
j = x;
else
j = ((2 * n - 1) * x *p (n-1,x) - (n-1) * p (n-2,x)) / n;
return j;
}
int main ()
{
int n;
float x;
double j;
scanf("%d,%f",&n,&x);
j = p(n,x);
printf("%lf\n",j);
return 0;
}
全部回答
你只要把最后输出那一句的%d改成%lf就行了。
最佳答案的公式反而是错的,以下这一句运算符号打错了吧:
j = ((2 * n - 1) * x *p (n-1,x) - (n-1) * p (n-2,x)) / n;
改正如下:
j = ((2 * n - 1) * x -p (n-1,x) - (n-1) * p (n-2,x)) / n;
输出结果是什么,想表达的什么错了,需要什么结果,现在的结果又是什么,具体一点才能调试
函数返回值是double类型的,所以把int p (int n,float x)改为double p(int n,float x)。
把printf("%d\n",j)改为printf("%lf\n",j)追问
怎么办
追答n=0,返回1,结果是对的。
另外x是float类型的,原来你写的scanf("%d,%f",&n,&x);为什么现在又改成scanf("%d,%lf",&n,&x);
最后的输出写错了!!!!
# include
int p (int n,float x)
{
double j;
if (n == 0)
j = 1;
else if (n == 1)
j = x;
else
j = ((2.0*n-1 )*x-p(n-1,x)-(n-1)*p(n-2,x))/n;
return j;
}
int main ()
{
int n;
float x;
double j=0.0;
scanf("%d%f",&n,&x);
j = p(n,x);
printf("%f\n",j);
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
和刀与酒杯有关的诗句,写两句与‘月亮’有关
中传汉硕刚过国家线可能被录取吗?
拉日扎阿地址在哪,我要去那里办事
元素周期表和元素周期律对于其他
美剧有没有特别大尺度的
周边什么意思,出周边是什么意思
跪求爸爸活日剧的百度云资源
2007年农村完全实现免费的义务教育,2008年,
求对待人生不同态度有不同结果的事例
two-thirds 还是two-third?
急需要4万块,上班族有偿还能力的
求下面文章每段的大意 用一句话英语来概括
1992年属猴阴历2月14日出生的是什么命
阳历1996年1月27日出生的人是数猪还是数老鼠
春晓是唐诗吗,唐诗要十首(七言律诗)
推荐资讯
10-0.238的竖式计算
牙齿发黑是蛀牙吗
LED幻彩灯带如何写程序?可程序又是什么?
高晓松为什么用鱼羊野史作书名,鱼羊出自何典
现金支票用途怎么写,当我公司收到现金支票,
宏业汽车贸易有限公司地址在哪,我要去那里办
石敢当之雄持天东中白莲花的扮演者是谁
那些考古人员在挖掘文物时会偷文物吗?如何解
胸疼是持续不断的痛还是一过性的,偶
传说中的龙有哪些动物组成的
淄川去哪里招工作
屏山县卫生执法监督大队地址在哪,我要去那里
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?