| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 494 人关注过本帖
标题:[原创]输出结果竟会不一样。。。
取消只看楼主 加入收藏
指幕天
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-3-7
收藏
 问题点数:0 回复次数:1 
[原创]输出结果竟会不一样。。。
float p();
void main()
{int n;
float x;
clrscr();
printf("Input n&x:");
scanf("%d %d",&n,&x);
printf("The result is:%3.2f",p(n,x));
getch();
}
float p(int n,float x)
{float r;
if(n==0) return(1);
else if(n==1){r=x; return(r);}
else {r=((2*n-1)*x-p(n-1,x)-(n-1)*p(n-2,x))/n;
return(r);
}
}
所要解 决的问题是

用递归法求n阶勒让德多项式的值,递归公式为:

1 (n=0)

pn(x)= x (n=1)

((2n-1)*xpn-1(x)(n-1)*pn-2(x))/n (n>1)
当我输入n=1,x=2时可以正常输出也就是说输出2.00;可是当x为其他值是问题就出现了,不在输出x的值了,让人很郁闷啊,大家在帮忙看一下吧。。。。。。

搜索更多相关主题的帖子: float 结果 输出 int 
2006-05-17 20:27
指幕天
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-3-7
收藏
得分:0 
关键应当是else if那吧但我自己看不出错误啊。。。。

念双燕,难凭音信;指幕天,空识归航!
2006-05-17 20:29
快速回复:[原创]输出结果竟会不一样。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017394 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved