返回信息流题目:code.bupt
题目链接:
题目的大意是:程序循环20次,
1.先输入一个数字N,N<=1000,
2.输入N个数字
3.找出这N个数字中的最大值和次大值,次大值严格小于最大值
4.输出最大值和次大值,并且中间用一个空格隔开
代码提交结果:萌新想请教一下学长,为什么我写这个的代码总是异常运行,求学长解答
我对这道题有如下想法:
具体代码见附件:
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #94090同步于 2017/10/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖
关于code.bupt 的一点疑问。
hanxiangxing
2017/10/2镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
看了下你的程序,发现以下几个问题:
1. 如果对于每组测试数据都想输出最大值和次大值的话,printf()函数应该放到for(T=1;T<=20;T++)这个循环体的里面
2. 对于N=1的情况,调用change(&p[0], &p[1])会使用不确定的p[1]值
3. 你的程序并不能保证次大值小于最大值,试下N=3, p={3, 3, 2}这组测试数据
希望能帮助到你~~
【 在 lzj0218 的大作中提到: 】
: 看了下你的程序,发现以下几个问题:
: 1. 如果对于每组测试数据都想输出最大值和次大值的话,printf()函数应该放到for(T=1;T<=20;T++)这个循环体的里面
: 2. 对于N=1的情况,调用change(&p[0], &p[1])会使用不确定的p[1]值
: ...................
问题解决了,谢谢学长了[ema11]