求教!如何修改程序?
#include<stdio.h> #include<stdlib.h>
int commp(const void *a, const void *b)
{
return ((float *)a)[0] > ((float *)b)[0] ? 1 : -1;
}
main()
{
float c[25],a[30][2], x[2][17];
int i,j;
printf("\n");
for(i=0;i<25;i++)
scanf("%f",&c[i]);
printf("\n");
for(i=0;i<2;i++)
for(j=0;j<17;j++)
scanf("%f",&x[i][j]);
printf("\n");
a[0][0]=c[x[0][2]]-c[x[0][1]]-c[x[0][0]];a[0][1]=x[0][2]-x[0][1]-x[0][0];
a[1][0]=c[x[0][3]]-c[x[0][2]]-c[x[0][1]];a[1][1]=x[0][3]-x[0][2]-x[0][1];
a[2][0]=c[x[0][4]]-c[x[0][3]]-c[x[0][2]];a[2][1]=x[0][4]-x[0][3]-x[0][2];
a[3][0]=c[x[0][5]]-c[x[0][4]]-c[x[0][3]];a[3][1]=x[0][5]-x[0][4]-x[0][3];
a[4][0]=c[x[0][6]]-c[x[0][5]]-c[x[0][4]];a[4][1]=x[0][6]-x[0][5]-x[0][4];
a[5][0]=c[x[0][7]]-c[x[0][6]]-c[x[0][5]];a[5][1]=x[0][7]-x[0][6]-x[0][5];
a[6][0]=c[x[0][8]]-c[x[0][7]]-c[x[0][6]];a[6][1]=x[0][8]-x[0][7]-x[0][6];
a[7][0]=c[x[0][9]]-c[x[0][8]]-c[x[0][7]];a[7][1]=x[0][9]-x[0][8]-x[0][7];
a[8][0]=c[x[0][10]]-c[x[0][9]]-c[x[0][8]];a[8][1]=x[0][10]-x[0][9]-x[0][8];
a[9][0]=c[x[0][11]]-c[x[0][10]]-c[x[0][9]];a[9][1]=x[0][11]-x[0][10]-x[0][9];
a[10][0]=c[x[0][12]]-c[x[0][11]]-c[x[0][10]];a[10][1]=x[0][12]-x[0][11]-x[0][10];
a[11][0]=c[x[0][13]]-c[x[0][12]]-c[x[0][11]];a[11][1]=x[0][13]-x[0][12]-x[0][11];
a[12][0]=c[x[0][14]]-c[x[0][13]]-c[x[0][12]];a[12][1]=x[0][14]-x[0][13]-x[0][12];
a[13][0]=c[x[0][15]]-c[x[0][14]]-c[x[0][13]];a[13][1]=x[0][15]-x[0][14]-x[0][13];
a[14][0]=c[x[0][16]]-c[x[0][15]]-c[x[0][14]];a[14][1]=x[0][16]-x[0][15]-x[0][14];
a[15][0]=c[x[1][2]]-c[x[1][1]]-c[x[1][0]];a[15][1]=x[1][2]-x[1][1]-x[1][0];
a[16][0]=c[x[1][3]]-c[x[1][2]]-c[x[1][1]];a[16][1]=x[1][3]-x[1][2]-x[1][1];
a[17][0]=c[x[1][4]]-c[x[1][3]]-c[x[1][2]];a[17][1]=x[1][4]-x[1][3]-x[1][2];
a[18][0]=c[x[1][5]]-c[x[1][4]]-c[x[1][3]];a[18][1]=x[1][5]-x[1][4]-x[1][3];
a[19][0]=c[x[1][6]]-c[x[1][5]]-c[x[1][4]];a[19][1]=x[1][6]-x[1][5]-x[1][4];
a[20][0]=c[x[1][7]]-c[x[1][6]]-c[x[1][5]];a[20][1]=x[1][7]-x[1][6]-x[1][5];
a[21][0]=c[x[1][8]]-c[x[1][7]]-c[x[1][6]];a[21][1]=x[1][8]-x[1][7]-x[1][6];
a[22][0]=c[x[1][9]]-c[x[1][8]]-c[x[1][7]];a[22][1]=x[1][9]-x[1][8]-x[1][7];
a[23][0]=c[x[1][10]]-c[x[1][9]]-c[x[1][8]];a[23][1]=x[1][10]-x[1][9]-x[1][8];
a[24][0]=c[x[1][11]]-c[x[1][10]]-c[x[1][9]];a[24][1]=x[1][11]-x[1][10]-x[1][9];
a[25][0]=c[x[1][12]]-c[x[1][11]]-c[x[1][10]];a[25][1]=x[1][12]-x[1][11]-x[1][10];
a[26][0]=c[x[1][13]]-c[x[1][12]]-c[x[1][11]];a[26][1]=x[1][13]-x[1][12]-x[1][11];
a[27][0]=c[x[1][14]]-c[x[1][13]]-c[x[1][12]];a[27][1]=x[1][14]-x[1][13]-x[1][12];
a[28][0]=c[x[1][15]]-c[x[1][14]]-c[x[1][13]];a[28][1]=x[1][15]-x[1][14]-x[1][13];
a[29][0]=c[x[1][16]]-c[x[1][15]]-c[x[1][14]];a[29][1]=x[1][16]-x[1][15]-x[1][14]};
qsort(a, sizeof(a)/sizeof(float)/2, 2*sizeof(float ),commp);
for(i = 0; i < sizeof(a)/sizeof(float )/2; i++)
{
if(a[i][1] != 0)
{
printf("%f", a[i][0]);
if(a[i][1] = a[i+1][1])
printf("%f", a[i+1][0]);
printf("\n");
break;
}
}
return 0;
}
c(22) : error C2108: subscript is not of integral type
c(22) : error C2113: pointer can only be subtracted from another pointer
。。。