帮忙看看代码为什么运行不了
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
struct Info
{
int n;
int k;
int acquire[100];
}info[5];
void read(); //读取文件
void choose(); //选座
void print(); //输出座位信息
void read()
{
int i,j;
FILE *fp;
fp=fopen("1.txt","r");
if(fp=NULL)
{
printf("文件打开失败\n");
exit(0);
}
while(!feof(fp))
{
for(i=0;i<5;i++)
{
fscanf(fp,"%d %d",&info[i].n,&info[i].k);
for(j=0;j<info[i].n;j++)
{
fscanf(fp,"%d",&info[i].acquire[j]);
}
j=0;
}
}
fclose(fp);
}
void choose(int k,int m)
{
int a[100][100];
int i,j;
for(i=0;i<k;i++)
{
for(j=0;j<k;j++)
{
a[i][j]=1;
}
}
int x,y;
x=(k+1)/2;
y=x;
int l=0,r=m-1,p=0,q=0;
int I=0,M=0,N=0,L=0,max=k*k*k;
for(i=0;i<k;i++)
{
for(j=0;j<k-m+1;j++)
{
for(int h=l;h<r+1;)
{
if(a[i][h]!=1)
p=1;
}
if(p==0)
{
for(h=l;h<r+1;)
{
L+=abs(i-x)+abs(h-y);
}
L=L*(1/m);
if(max>L)
{
max=L;
I=i;
M=l;
N=r;
}
p=0;
q=1;
}
l++;
r++;
}
}
if(q==1)
printf("%d %d %d\n",I,M,N);
else
printf("-1\n");
}
void print(int n,struct Info info[],int i)
{
int j;
for(j=0;j<n;j++)
choose(info[i].k,info[i].acquire[j]);
}
void main()
{
read();
int i;
for(i=0;i<5;i++)
print(info[i].n,&info[i],i);
}