哪位高手帮帮忙~~运行VC 有问题需要关闭

发布网友 发布时间:2024-10-23 16:54

我来回答

2个回答

热心网友 时间:4分钟前

float a[3][3],x[3],b[3];
{for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
scanf("%f",&a[i][j]);

c语言数组是从0开始的,所以这里循环i,j应该是0到2,你越界啦
整个程序还有好多问题奥,不知道你这个程序是干嘛的,要实现什么功能
问题还有很多啦,光主函数里面就有以下
void main()
{
int i,j;
float a[3][3],x[3],b[3];
for(i=0;i<3;i++)
{///貌似你的括号应该这样括的
for(j=0;j<3;j++)
scanf("%f",&a[i][j]);
scanf("%f",&b[i]);
}
function(a,b);
for(i=0;i<3;i++)
printf("%f\n",x[i]);//每个输出里面只有一个参数,应该只有一个输出项%f吧?
}

而且你的x[]数组根本没有赋值,不知道你要输出什么

这个是我猜的,你看下能不能用
#include<stdio.h>
float a[3][3],x[3],b[3];
void function()
{
int i,j,k;
float m;
for(k=0;k<2;k++)
for(i=k+1;i<3;i++)
{
m=a[i][k]/a[k][k];
for(j=k;j<3;j++)
a[i][j]=a[i][j]-m*a[k][j];
b[i]=b[i]-m*b[j];
}
x[2]=b[2]/a[2][2];
for(i=1;i>=0;i--)
for(j=i+1;j<3;j++)
x[i]=(b[i]-a[i][j]*x[j])/a[i][i];
}

void main()
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%f",&a[i][j]);
scanf("%f",&b[i]);
}
function(a,b);
for(i=0;i<3;i++)
printf("%f\n%f\n%f\n%f\n",x[i]);
}

热心网友 时间:2分钟前

#include<stdio.h>
void function(float a[3][3],float b[3])
{
int i,j,k;
float m;
float x[3];

for(k=0;k<3;k++)
{
for(i=k+1;i<3;i++)
{
m=a[i][k]/a[k][k];
for(j=k;j<3;j++)
a[i][j]=a[i][j]-m*a[k][j];
b[i]=b[i]-m*b[j];
}
}
x[3]=b[3]/a[3][3];

for(i=3;i>=0;i--)
for(j=i+1;j<3;j++)
x[i]=(b[i]-a[i][j]*x[j])/a[i][i];
}
void main()
{
int i,j;
float a[3][3],x[3],b[3];

for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%f",&a[i][j]);
scanf("%f",&b[i]);
}

function(a,b);
for(i=0;i<3;i++)
printf("%f\n%f\n%f\n%f\n",x[i]);

}

你这个程序乱的很,不是指的是语法错误,而是思路乱
最终是调试通过了,结果得到的数据不对,你还是想下哪里没有考虑全面吧
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com