我在win7下运行dev c++的这个程序,为什么输入到第七个值之后就未响应呢?
发布网友
发布时间:2022-05-22 22:32
我来回答
共2个回答
热心网友
时间:2023-10-09 02:31
#include"stdio.h"
#include"math.h"
main()
{
float x[20],y[20],z[20],r,s=0;/*x是初始向量,r是特征值*/
int n,i,j,N,k=1;/*n是矩阵的阶数,N是最大迭代次数*/
float e,l,u=0;/*e是误差限*/
float a[20][20];/*a是矩阵A*/
printf("Please input n:");/*输入阶数*/
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("Please input a(%d%d):",i+1,j+1);/*输入矩阵*/
scanf("%f",&a[i][j]);
}
}
printf("Please input x:\n");/*输入初始向量*/
for(i=0;i<n;i++)
{
printf("x(%d)=",i+1);
scanf("%f",&x[i]);
}
printf("Please input e:");/*输入误差限*/
scanf("%f",&e);
printf("Please input N:");/*输入最大迭代次数*/
scanf("%d",&N);
getchar();
for(k;k<=N;k++)
{
for(i=0;i<n;i++)
z[i]=x[i];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(fabs(z[i])>=fabs(z[j])) z[i]=z[i];
else z[i]=z[j];
r=z[i];}
for(i=0;i<n;i++)
y[i]=x[i]/r;
for(i=0;i<n;i++)
{
s=0;for(j=0;j<n;j++)
s=a[i][j]*y[j]+s;
x[i]=s;}
for(i=0;i<n;i++)
z[i]=x[i];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(fabs(z[i])>=fabs(z[j])) z[i]=z[i];
else z[i]=z[j];
r=z[i];}
l=(r-u);
u=r;
printf("The %d turn\n",k);
printf("lamuda=%f\n",r);printf("The x=\n");
for(i=0;i<n;i++) printf("%6f\n",x[i]);
if(fabs(l)<e) break;
}
if(fabs(l)>e) printf("Wrong\n");
getchar();
}
///我运行的没啥问题啊 你第一个参数数的是啥?
热心网友
时间:2023-10-09 02:31
呵呵,我在Visual C++上运行了也没什么问题啊?
建议你开始学习C++
有问题可以进入程序设计高手群:14795447 52561635