2016 HDOJ 数据的交换输出

 

  • 以下是该题的题目和输入输出要求:

 


 

  • 解题思路:该题即选择一个序列中最小的数与序列中第一个数交换,可以利用简单选择排序算法,且只需一趟排序后即可得到正确的输出结果。
  • 解决代码如下:
     1 #include<iostream>
     2 using namespace std;
     3 
     4 int main()
     5 {   
     6     int n;
     7     while(cin>>n)
     8     {
     9      if(n==0)
    10      {
    11          break;
    12      }
    13      int num[100];
    14      for(int i=0;i<n;i++)  //输入 
    15      {
    16         cin>>num[i];
    17      }
    18      int k=1; 
    19      for(int j=0;j<n;j++)
    20      {
    21          if(num[j]<num[k])
    22          {
    23              k=j;
    24          }
    25      }
    26      int temp=num[0];   //交换 
    27      num[0]=num[k];
    28      num[k]=temp;
    29     for(int i=0;i<n;i++)  //输出结果 
    30     {
    31      if(i==n-1)
    32      {
    33          cout<<num[i];
    34      }
    35      else
    36       cout<<num[i]<<" ";    
    37     }
    38     cout<<endl;
    39     } 
    40     return 0;
    41  } 
    View Code

     

 

posted @ 2020-02-04 20:51  一笑奈何DF  阅读(125)  评论(0编辑  收藏  举报
作者:一笑奈何DF
出处:https://home.cnblogs.com/u/ManbaDF99/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。