程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> hdu 2016,hdu

hdu 2016,hdu

編輯:關於C語言

hdu 2016,hdu


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!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved