当前位置: 代码迷 >> 单片机 >> 有段代码在vc下能过为什么在keil下就过不了解决方案
  详细解决方案

有段代码在vc下能过为什么在keil下就过不了解决方案

热度:134   发布时间:2016-04-28 15:57:18.0
有段代码在vc下能过为什么在keil下就过不了
#include <stdio.h>
#include <stdlib.h>


float **Set_Data_Area ( int Data_lengh );//创建一个矩形空间规定了大小


void main()
{
int Data_Num; //输入空间长度,既输入几阶行列式

float Data_Result=1; //用于记录行列式的结果,
//因为我用的是主对角线相乘的方法所以给出初值为1

float Multiple ; //用于记录倍数a[m][k]/a[k][k],第一次发生的值。
//因为循环后a[m][k]/a[k][k]变0;所以要记录下来

int i,j;

printf( "How many ranks do you want ?\n" );

scanf("%d", & Data_Num);

/*输元素入值*/

float **a=Set_Data_Area( Data_Num ); //把空间的首地址赋给a

for( i=0 ; i <Data_Num ; i++)
{
printf("%d line : ",i+1);

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

printf("\n") ;
}

system (" cls ");

for ( i=0 ; i<Data_Num ; i++ )
{
for( j=0 ;j<Data_Num ; j++ )
{
printf( "%f " , a[i][j]);
}

printf("\n");
}
printf("********************\n");

/*计算开始*/
int k; //记录次数;

int q; //用于横向遍历

int m; //纵向遍历

/*下列是关键算法,把行列式转化为上三角行列式*/

for(k=0 ;k < Data_Num ; k++)
for(m=k+1; m < Data_Num ; m++ )
{
if(a[k][k]==0)
{
printf("the result : 0");
return ;
} //这里是我一直没有克服的难点,要是有高手的话,还请指教

Multiple = a[m][k]/a[k][k] ;

for(q=k ; q < Data_Num ; q++ )
{
a[m][q] = a[m][q] - Multiple * a[k][q] ;
}

}
/*转换完毕*/

/*计算结果,这个简单的*/

for(k=0; k<Data_Num ;k++)
{
Data_Result *= a[ k ][ k ];
}

/*输出转化过的行列式*/
for ( i=0 ; i<Data_Num ; i++ )
{
for( j=0 ;j<Data_Num ; j++ )
{
printf("%f ",a[i][j]);
}

printf("\n");
}



/*输出结果*/
printf("The result is :%d\n",Data_Result);

}

float **Set_Data_Area(int Data_lengh)
{
float **Head_Point = NULL;

Head_Point =(float **)malloc (sizeof(float *));

int Index ;

for(Index=0 ; Index <Data_lengh ;Index ++)
{
*(Head_Point + Index) = (float *)malloc (sizeof (float )*Data_lengh);
}

return Head_Point;
}



以上是代码,一段行列式算法,错误提示如下:
compiling 行列式转换.c...
行列式转换.C(27): error C141: syntax error near 'float'
行列式转换.C(27): error C202: 'a': undefined identifier
行列式转换.C(35): error C202: 'a': undefined identifier
行列式转换.c - 3 Error(s), 0 Warning(s).


我只是一个大一在校生,希望大神们可以给一个简单点的解释,谢过了。

------解决方案--------------------
包含的库不一样吧
  相关解决方案