【求教】程序错在哪了?-858993460?
#include<stdio.h> #include<stdlib.h>
int commp(const void *a, const void *b)
{
return *(int *)b > *(int *)a ? 1 : -1;
}
main()
{
int c[19]={7 ,8 ,9 ,14 ,16 ,18 ,20 ,21 ,25 ,33 ,34 ,41 ,46 ,47 ,52 ,56 ,60 ,61 ,62 },
i[2][7]={2 ,5 ,11 ,12 ,13 ,14 ,16 ,2 ,5 ,11 ,12 ,13 ,14 ,16},
j,k,a[10][2];
for(k=0;k<2;k++)
{
for(j=2;j<7;j++) //所有条件赋值行为简化为一个循环解决
a[j-2][1]=i[k][j]-i[k][j-1]-i[k][j-2];
if(i[k][j]-i[k][j-1]-i[k][j-2]!= 0)
a[j-2][0]=c[i[k][j]]-c[i[k][j-1]]-c[i[k][j-2]];
else
a[j-2][0] =-1000;
}
qsort(a, sizeof(a)/sizeof(int)/2, 2*sizeof(int ),commp);
for(j = 0; j < sizeof(a)/sizeof(int )/2; j++)
{
if(a[j][1] != 0)
{
printf("%d\n%d\n", a[0][0], a[0][1]);
printf("\n");
break;
}
return 0;
}
}
运算结果是:
-91
-858993460
Press any key to continue
[此贴子已经被作者于2017-2-9 14:15编辑过]