bluse 发表于 2010-11-18 20:24:22

原帖由 zgbl 于 2010-11-18 08:15 PM 发表 http://pkuxkx.com/forum/images/common/back.gif
错误,我们要的不是排序,楼主要求是返回最大数字的编号,如果排序了就全乱了
只需要一个for进行对比就行了,用c的格式举个例子
max=a;
for(i=0;i max )
max = a;最后这个max对应的就是最大的那个数,然后再来 ...

为什么不多设一个变量,直接得到结果呢。。
max=a;
for(i=0;i<sizeof(a);i++)
if( a > max )
{
max = a;
index=i;
}

littleknife 发表于 2010-11-18 20:28:22

各位好强悍

我的代码是这样的:嘿嘿,偷点懒,ddid,别笑话啊。哈哈。


a={5,4,9,10,22,8,0,}
answer={}
for key, value in pairs (a) do
answer=key
end
index=answer
maxnum=table.maxn(answer)
print(index,maxnum)

trace 发表于 2010-11-18 21:05:42

做了个反向表。这种思路也不错啊。

ddid 发表于 2010-11-18 21:24:52

不错哦,充分体现 table.maxn()的特性。
页: 1 [2]
查看完整版本: 不想去思考了,太累。请问下高手吧。数组的问题。哈哈。