zoukankan      html  css  js  c++  java
  • [noj 1002]囧:求最大值最小值 WA 8次

    没有思考,直接按成法来,第一组数据都没通过。

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

     1 # include <stdio.h>
    2
    3 int main()
    4 {
    5 int x, N, min, max;
    6
    7 while (~scanf("%d", &N))
    8 {
    9 max = 0;
    10 min = 100;
    11 while (N--)
    12 {
    13 scanf("%d", &x);
    14 if (x > max) max = x;
    15 else if (x < min) min = x;
    16 }
    17 printf("%d %d\n", max, min);
    18 }
    19
    20 return 0;
    21 }

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

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



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

     1 # include <stdio.h>
    2
    3 int main()
    4 {
    5 int x, N, min, max;
    6
    7 // freopen("in.txt", "r", stdin);
    8 // freopen("out.txt", "w", stdout);
    9
    10 while (~scanf("%d", &N))
    11 {
    12 if (N-- > 0) scanf("%d", &max) ;
    13 min = max;
    14 while (N--)
    15 {
    16 scanf("%d", &x);
    17 if (x > max) max = x;
    18 else if (x < min) min = x;
    19 }
    20 printf("%d %d\n", max, min);
    21 }
    22
    23 return 0;
    24 }

    囧啊。。。。。

  • 相关阅读:
    Linux Shell 用法
    gdb调试用法
    grep 用法总结
    Cmake用法
    Win64/Linux 上PyMouse安装
    两道拓扑排序的问题
    hiho一下第76周《Suzhou Adventure》
    这类问题需要利用二进制的特殊性
    这种题应该诸位处理
    两道人数多,课程少,query多的题
  • 原文地址:https://www.cnblogs.com/JMDWQ/p/2393815.html
Copyright © 2011-2022 走看看