c语言 导弹拦截
发布网友
发布时间:2022-06-14 01:03
我来回答
共1个回答
热心网友
时间:2023-10-16 08:11
int x[n],y[n],k1[n],k2[n],t,i,amax,bmax;中不能以变量作为数组个数申明数组
int *x = new int[n],*y = new int[n],*k1 = new int[n],*k2 = new int[n],t,i,amax,bmax;
题目中是要重文件中读取数据,并把得到的数据保存到文件中的
求最大值的地方有点问题。
#include<stdio.h>
int main()
{
int x1,y1,x2,y2;
scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
int n;
scanf("%d",&n);
int *x = new int[n],*y = new int[n],*k1 = new int[n],*k2 = new int[n],t,i,amax,bmax;
for(i=0;i<n;i++)
{
scanf("%d %d",&x[i],&y[i]);
}
for(i=0;i<n;i++)
{
k1[i]=(x[i]-x1)*(x[i]-x1)+(y[i]-y1)*(y[i]-y1);
k2[i]=(x[i]-x2)*(x[i]-x2)+(y[i]-y2)*(y[i]-y2);
if(k1[i]<k2[i]) k2[i]=0;
else k1[i]=0;
}
amax = k1[0];
bmax = k2[0];
for(i=0;i<n;i++)
{
if(amax < k1[i]) amax = k1[i];
if(bmax < k2[i]) bmax = k2[i];
}
printf("%d\n",amax+bmax);
return 0;
}