新人求助!这段程序里哪里出问题了?就是不会输出

qq_31956465 2015-10-15 06:29:43
这是题目:题目描述
青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。

输入
输入数据有多组,每组占一行,每行的第一个数是n( 2 < n < 100),表示评委的人数,然后是n个评委的打分。

输出
对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。

样例输入
3 99 98 97
4 100 99 98 97
样例输出
98.00
98.50


下面是我写的程序
#include <iostream>
#include <iomanip>
#include <stdlib.h>
using namespace std;
int main()
{
int n, a,b,c=0,i,max,min,d,e;
double m;
#define max(a, b) (((a) > (b)) ? (a) : (b));
#define min(a, b) (((a) < (b)) ? (a) : (b));
while (cin >> n)
{
loop:for (i = 1; i <= n; i++)
{
cin >> a;
if (i == 1)
{
e = a;
max = a, min = a;
goto loop;
}
c = c + a;
max = max(max, a); min = min(min, a);
}
d = c + e;
m = (d - max - min) / (n - 2);
cout << fixed << setprecision(2) << max << endl;
}

return 0;
}
...全文
189 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yishang44 2015-10-16
  • 打赏
  • 举报
回复
楼上说的是。你用goto loop不如直接用continue
赵4老师 2015-10-16
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
的费时费工 2015-10-16
  • 打赏
  • 举报
回复
新手的代码看着就是有点蛋疼
lm_whales 2015-10-15
  • 打赏
  • 举报
回复
死循环了吧 loop:和goto loop; 都去掉,运行一下看看
qq_31956465 2015-10-15
  • 打赏
  • 举报
回复
嗯,这样哪里出问题了呢
qq_31956465 2015-10-15
  • 打赏
  • 举报
回复
引用 2 楼 u010087712 的回复:
还有用goto的代码
嗯,这样哪里出问题了呢?
qq_31956465 2015-10-15
  • 打赏
  • 举报
回复
额,这样有什么问题呢?
大大大白 2015-10-15
  • 打赏
  • 举报
回复
还有用goto的代码
qq_31956465 2015-10-15
  • 打赏
  • 举报
回复

64,666

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧