码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 2016

时间:2015-03-11 09:17:05      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

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
 
 
 
#include<stdio.h>
int main()
{
 int n,i,temp,cnt,min;
 int str[100];
 while(scanf("%d",&n)!=EOF){
  if(n==0) return 0;
  else{
   for(i=1;i<=n;i++){
    scanf("%d",&str[i]);
   }
   min=str[1];
   cnt=1;
   for(i=2;i<=n;i++){
    if(str[i]<min){
     min=str[i];
     cnt=i;
    }
   }
   if(cnt!=1){
    temp=str[1];
    str[1]=min;
    str[cnt]=temp;
   }
   for(i=1;i<=n;i++){
    printf("%d",str[i]);
    if(i<n) printf(" ");
    else printf("\n");
   }
  }
 }
 return 0;
}
 
 
 
tip:当第一个数最小时要单独打个if判断一下,还有min=str[1]时,cnt=1!

hdu 2016

标签:

原文地址:http://www.cnblogs.com/sd1427407009/p/4328951.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!