程序答案不对……大家帮忙找找错误吧……谢谢

这里是题目:http://poj.grids.cn/problem/2693/以下是程序,答案不对啊……大家帮帮忙吧……愁死了……谢谢!!#include<stdio.h... 这里是题目:http://poj.grids.cn/problem/2693/
以下是程序,答案不对啊……大家帮帮忙吧……愁死了……谢谢!!
#include<stdio.h>
#include<math.h>
void main()
{
int i,j,n;
float d,d1,t,a[65535][2];
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<2;j++)
scanf("%f",&a[i][j]);
}
d1=sqrt((a[0][0]-a[1][0])*(a[0][0]-a[1][0])+(a[0][1]-a[1][1])*(a[0][1]-a[1][1]));
for(i=0;i<n-1;i++)
{
for(j=i;j<n-1;j++)
{

d=sqrt((a[i][0]-a[j+1][0])*(a[i][0]-a[j+1][0])+(a[i][1]-a[j+1][1])*(a[i][1]-a[j+1][1]));
(d>d1)?(t=d):(t=d1);
}
}
printf("%.4f\n",t);
}
数组定义的那么大是因为我不会用动态内存分配………………
大家帮帮忙改一下这个程序好么?我想学学怎么用动态内存。

另外,只是数组过大的问题么?我有代几个点进去运行,但出来的结果不对,我一直在想是不是我循环那里出了纰漏。
展开
 我来答
百度网友42e02c5
2010-04-04 · TA获得超过1231个赞
知道小有建树答主
回答量:506
采纳率:0%
帮助的人:535万
展开全部
建议用结构体做会比较清晰,或者不用结构体,用两个数组x[],y[];
最后,在定义的时候,如果数组太大,可以定义成全局变量,这样,不会报错。
我觉得这个题,数据量一大,你的算法,1000ms就要超时了
声声慢老师
2010-04-04 · TA获得超过251个赞
知道小有建树答主
回答量:276
采纳率:0%
帮助的人:138万
展开全部
你的数组定义太大了。把它该为a[100][2]看看。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pang68599
2010-04-04 · 超过16用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:48.1万
展开全部
我记得数组的最大长度是1000你的超过了
可能出错了你试试用小点的数组测试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式