网罗天下放失旧闻:为何不能编译?
来源:百度文库 编辑:神马品牌网 时间:2024/08/31 23:03:20
#include
#include
#include
#include
#define MAX_n 100
#define PRECISION 0.000001
void MatrixInput(float A[][MAX_n],
int m,int n)
{
int i,j;
float ftmp;
printf("\n===Begin input
Matrix elements===\n");
for(i=1;i <=m;++i)
{
printf("Input_Line %d :",i);
for(j=1;j <=n;++j)
{
scanf("%f",&ftmp);
A[i][j]=ftmp;
}
}
}
void MatrixOneColumnOutput(
float A[][MAX_n],int n,int k)
{
int i;
for(i=1;i <=n;++i)
printf("\nx[%d]=%f",i,A[i][k]);
}
int UpTriangle(float U[][MAX_n],int n)
{
int i,j;
for(i=n;i>0;--i)
{
if(fabs(U[i][i]) return 1;
for(j=i+1;j <=n;++j)
U[i][n+1]/=U[i][i];
}
return 0;
}
void Swap(float *a,float *b)
{
float ftmp;
ftmp=*a;
*a=*b;
*b=ftmp;
}
int GaussElimination_column_select(float A[][MAX_n],
int n)
{
int i,j,k;
float fTmp;
for(i=1;i <=n;++i)
{
for(k=i,j=i+1;j <=n;++j)
if(fabs(A[j][i])>fabs(A[k][i]))
k=j;
for(j=i;j <=n+1;++j)
Swap(&A[i][j],&A[k][j]);
if(fabs(A[i][i]) return 1;
for(j=i+1;j <=n;++j)
for(k=i+1;k <=n+1;++k)
A[j][k]-=A[i][k]*A[j][i]/A[i][i];
}
UpTriangle(A,n);
return 0;
}
void main()
{
int n;
float A[MAX_n][MAX_n];
printf("\nInput n=");
scanf("%d",&n);
if(n>=MAX_n-1)
{
printf("\n\007n must <%d!",MAX_n);
exit(0);
}
MatrixInput(A,n,n+1);
if(GaussElimination_column_select(A,n))
printf("\nGauss Failed!");
else
{
printf("\nOutput Solution:");
MatrixOneColumnOutput(A,n,n+1);
}
printf("\n\n\007Press any
key to quit! \n");
getch();
}
改过后还是不能编译阿~~~,朋友,你能编译吗?多谢关注~~
fabs()函数全的阿~~~问题在哪啊?
#include
#include
#include
#define MAX_n 100
#define PRECISION 0.000001
void MatrixInput(float A[][MAX_n],
int m,int n)
{
int i,j;
float ftmp;
printf("\n===Begin input
Matrix elements===\n");
for(i=1;i <=m;++i)
{
printf("Input_Line %d :",i);
for(j=1;j <=n;++j)
{
scanf("%f",&ftmp);
A[i][j]=ftmp;
}
}
}
void MatrixOneColumnOutput(
float A[][MAX_n],int n,int k)
{
int i;
for(i=1;i <=n;++i)
printf("\nx[%d]=%f",i,A[i][k]);
}
int UpTriangle(float U[][MAX_n],int n)
{
int i,j;
for(i=n;i>0;--i)
{
if(fabs(U[i][i]) return 1;
for(j=i+1;j <=n;++j)
U[i][n+1]/=U[i][i];
}
return 0;
}
void Swap(float *a,float *b)
{
float ftmp;
ftmp=*a;
*a=*b;
*b=ftmp;
}
int GaussElimination_column_select(float A[][MAX_n],
int n)
{
int i,j,k;
float fTmp;
for(i=1;i <=n;++i)
{
for(k=i,j=i+1;j <=n;++j)
if(fabs(A[j][i])>fabs(A[k][i]))
k=j;
for(j=i;j <=n+1;++j)
Swap(&A[i][j],&A[k][j]);
if(fabs(A[i][i]) return 1;
for(j=i+1;j <=n;++j)
for(k=i+1;k <=n+1;++k)
A[j][k]-=A[i][k]*A[j][i]/A[i][i];
}
UpTriangle(A,n);
return 0;
}
void main()
{
int n;
float A[MAX_n][MAX_n];
printf("\nInput n=");
scanf("%d",&n);
if(n>=MAX_n-1)
{
printf("\n\007n must <%d!",MAX_n);
exit(0);
}
MatrixInput(A,n,n+1);
if(GaussElimination_column_select(A,n))
printf("\nGauss Failed!");
else
{
printf("\nOutput Solution:");
MatrixOneColumnOutput(A,n,n+1);
}
printf("\n\n\007Press any
key to quit! \n");
getch();
}
改过后还是不能编译阿~~~,朋友,你能编译吗?多谢关注~~
fabs()函数全的阿~~~问题在哪啊?
漏了头文件名:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
不能单写 #include
if (fabs ..) return 1;
fabs()条件语句要写全。
汗,看到C就头晕阿~!