| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 349 人关注过本帖
标题:我的这个‘拉格朗日’程序出现死循环,怎么控制结束它呢?
只看楼主 加入收藏
嘟市
Rank: 2
来 自:广东惠州
等 级:论坛游民
帖 子:9
专家分:17
注 册:2011-4-29
结帖率:100%
收藏
 问题点数:0 回复次数:0 
我的这个‘拉格朗日’程序出现死循环,怎么控制结束它呢?
#include <iostream>   
#include <conio.h>   
#include <malloc.h>   
float lagrange(float *x,float *y,float xx,int n)     /*拉格朗日插值算法*/   
{   
    int i,j;   
    float *a,yy=0.0;    /*a作为临时变量,记录拉格朗日插值多项式*/   
    a=(float *)malloc(n*sizeof(float));   
    for(i=0;i<=n-1;i++)   
    {   
        a[i]=y[i];   
        for(j=0;j<=n-1;j++)   
            if(j!=i) a[i]*=(xx-x[j])/(x[i]-x[j]);   
        yy+=a[i];   
    }   
    free(a);
 return yy;   
}   
int main()   
{   
    int i;   
    int n;   
    float x[20],y[20],xx,yy;   
    printf("输入节点数n:");   
    scanf("%d",&n);   
   if(n>=20)   
    {   
        printf("Error!The value of n must in (0,20)."); getch();return 1;   
    }   
    if(n<=0)   
    {   
        printf("Error! The value of n must in (0,20)."); getch(); return 1;   
  }   
   for(i=0;i<=n-1;i++)   
    {   
        printf("x[%d]:",i);   
       scanf("%f",&x[i]);   
    }   
    printf("\n");   
    for(i=0;i<=n-1;i++)   
    {   
        printf("y[%d]:",i);scanf("%f",&y[i]);   
    }   
    printf("\n");
    do{
    printf("输入所求值x=");   
    scanf("%f",&xx);   
    yy=lagrange(x,y,xx,n);   
    printf("y=%f\n",yy);}
    while(1);
}
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 嘟市 于 2011-5-13 10:07 编辑 ]
搜索更多相关主题的帖子: 多项式 return include 
2011-05-13 10:05
快速回复:我的这个‘拉格朗日’程序出现死循环,怎么控制结束它呢?
数据加载中...
 
   



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

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