- 论坛徽章:
- 0
|
#include "math.h"
void sim_diedai()
{float y[10],e,t,ep;
/* y[1] chun fang fang cheng zu de jie guo;ep jingdu;m diedai ci shu; */
int i,n,j,k=0,m;
float b[10],a[10][10],x[10];
/*a[][] fang xishu;b[] fang changshu*/
printf("\n input n:" ;
scanf("%d",&n);
if(n<0||n>;10)
{printf("WARMING:please input n from 1 to 9!\n" ;
return;}
printf("\n m=" ;
scanf("%f",&m);
printf("\n ep=" ;
scanf("%f",&ep);
for(i=0;i<n;++i)
{
for(j=0;j<n;++j)
{printf("\n input a[%d][%d]=",i,j);
scanf("%f",&a[j]);
}
printf("\n input b[%d]=",i);
scanf("%f",&a[j]);
}
for(i=0;i<n;i++)
{printf("\n input x[%d]=",i);
scanf("%f",&x);
}
do
{e=0;i=0;
do
{t=0;
for(j=0;j<=n-1;j++)
if(i!=j)
t+=a[j]*x[j];
y=(b-t)/a;
if(fabs(x-y)>;=e)
e=fabs(x-y);
i++;
}while(i<n);
if(e<ep)
break;
k++;
for(i=0;i<=n-1;i++)
x=y;
}while(k<m);
if(k>;m)
{
printf("fault\n" ;
return;
}
for(i=0;i<n;i++)
printf("\n the root is %f",x);
}
main()
{sim_diedai();}
有谁能帮我看看红色这段代码
这个程序,编译可以通过,但就是执行结果不正确,可能是算法问题
我做的是个迭代算法.
另外有高手能帮我做两个异常保护程序吗?  |
|