zoukankan      html  css  js  c++  java
  • HDOJ2016数据的交换输出

    数据的交换输出

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 51744    Accepted Submission(s): 19564


    Problem Description
    输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。
     

     

    Input
    输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。
     

     

    Output
    对于每组输入数据,输出交换后的数列,每组输出占一行。
     

     

    Sample Input
    4 2 1 3 4 5 5 4 3 2 1 0
     

     

    Sample Output
    1 2 3 4 1 4 3 2 5
     

     

    Author
    lcy
     

     解题报告:

    用min保存最小的元素,用key记录最小元素的下标。交换最小元素和第一个元素,遍历输出。

     1 #include <stdio.h>
     2 int buf[105];
     3 void swap(int *x, int *y)
     4 {
     5     int t = *x;
     6     *x = *y;
     7     *y = t;
     8 }
     9 int main()
    10 {
    11     int i, n, min, key;
    12     while(scanf("%d", &n) == 1)
    13     {
    14         if(n == 0)
    15             break;
    16         min = 999999;
    17         key = 0;
    18         for(i = 0; i < n; i++)
    19         {
    20              scanf("%d", &buf[i]);
    21              if(buf[i] < min)
    22              {
    23                   min = buf[i];
    24                   key = i;
    25              }
    26         }
    27         swap(&buf[0], &buf[key]);
    28         for(i = 0; i < n; i++)
    29         {
    30             if(i)
    31                 printf(" ");
    32             printf("%d", buf[i]);
    33         }
    34         printf("
    ");
    35     }
    36     return 0;
    37 }
     
  • 相关阅读:
    Sublime Text3安装包管理
    Ubuntu下的Sun Java的安装与配置
    求最大面积--------O(n)复杂度
    求最大面积
    gas stations
    n皇后问题
    Triangle --- 至顶向下求最小值
    First Missing Positive
    常见的几种单例模式
    分布式锁学习笔记
  • 原文地址:https://www.cnblogs.com/la0bei/p/3650259.html
Copyright © 2011-2022 走看看