您的位置:首页 > 其它

[noj 1002]囧:求最大值最小值 WA 8次

2012-03-13 14:37 197 查看
没有思考,直接按成法来,第一组数据都没通过。

最关键的在于 if else 的结构没有考虑到如果输入的数都相等怎么办,另外如果输入的数是按增序排列也会得到错误的结果:

# include <stdio.h>

int main()
{
int x, N, min, max;

while (~scanf("%d", &N))
{
max = 0;
min = 100;
while (N--)
{
scanf("%d", &x);
if (x > max) max = x;
else if (x < min) min = x;
}
printf("%d %d\n", max, min);
}

return 0;
}


中间有几次是带着这两句话:

freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);


看来最保险的做法是用初值代替边界:

# include <stdio.h>

int main()
{
int x, N, min, max;

// freopen("in.txt", "r", stdin);
// freopen("out.txt", "w", stdout);

while (~scanf("%d", &N))
{
if (N-- > 0) scanf("%d", &max) ;
min = max;
while (N--)
{
scanf("%d", &x);
if (x > max) max = x;
else if (x < min) min = x;
}
printf("%d %d\n", max, min);
}

return 0;
}


囧啊。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: