zoukankan      html  css  js  c++  java
  • 九度OJ 1053:互换最大最小数 (基础题)

    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:6613

    解决:2676

    题目描述:

    输入一个数n,然后输入n个数值各不相同,调换数组中最大和最小的两个数,然后输出。

    输入:

    测试数据有多组,输入n(1<=n<=20),接着输入n个数。

    输出:

    对于每组输入,输出交换后的结果。

    样例输入:
    2
    1 3
    样例输出:
    3 1
    来源:
    2010年哈尔滨工业大学计算机研究生机试真题

    思路:

    遍历数组的过程中记录最大数和最小数并记录位置,然后调换即可。


    代码:

    #include <stdio.h>
     
    int main(void)
    {
        int n, a[20];
        int i, max, min;
     
        while (scanf("%d",&n) != EOF)
        {
            if (n<1 || n>20)
                return 0;
     
            for (i=0; i<n; i++)
                scanf("%d", &a[i]);
     
            for (i=0; i<n; i++)
            {
                if (i==0)
                {
                    max = 0;
                    min = 0;
                    continue;
                }
                if (a[i] > a[max])
                    max = i;
                if (a[i] < a[min])
                    min = i;
            }
     
            int tmp;
            tmp = a[min];
            a[min] = a[max];
            a[max] = tmp;
     
            for (i=0; i<n; i++)
            {
                printf("%d", a[i]);
                if (i!=n-1)
                    printf(" ");
            }
            printf("
    ");
        }
     
        return 0;
    }
    /**************************************************************
        Problem: 1053
        User: liangrx06
        Language: C
        Result: Accepted
        Time:0 ms
        Memory:912 kb
    ****************************************************************/


    编程算法爱好者。
  • 相关阅读:
    [编程题-网易]小易的升级之路
    [腾讯编程题]微信红包
    [编程题]生成格雷码
    [编程题]二叉树-网易
    安装wepack
    css选择器
    宽和高
    配置环境变量
    offsetLeft在各浏览器的值
    容易忘记的css属性和动画属性
  • 原文地址:https://www.cnblogs.com/liangrx06/p/5083978.html
Copyright © 2011-2022 走看看