Le soleil- 2021-10-31 12:54 采纳率: 100%
浏览 20
已结题

勒让德多项式,两个程序可单独运行但是合成一个就不行了

img


为什么for循环和它前面的if语句单独运行都没问题,但是合起来就不行了。
#include<stdio.h>
int main()
{

int a,n;
float x,u,v,w;
scanf("%f%d",&x,&a);
if(a==0)
printf("1.00");
if(a==1)
printf("%.2f",x);
for(n=2;(a>1)&&(n<=a);n++)
{
    u=0;
    v=x;
    w=((2*n-1)/(float)n)*x*v-((n-1)/(float)n)*u;
    u=v;
    v=w;
}
printf("%.2f",w);

}

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-10-31 12:55
    关注

    你不得用if...else啊

    float x,u,v,w;
    scanf("%f%d",&x,&a);
    if(a==0)
        printf("1.00");
    else if(a==1)
      printf("%.2f",x);
    else
    {
    for(n=2;(a>1)&&(n<=a);n++)
    {
        u=0;
        v=x;
        w=((2*n-1)/(float)n)*x*v-((n-1)/(float)n)*u;
        u=v;
        v=w;
    }
    printf("%.2f",w);
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月8日
  • 已采纳回答 10月31日
  • 创建了问题 10月31日