資料交換輸出
阿新 • • 發佈:2018-11-24
Problem Description
輸入n(n<100)個數,找出其中最小的數,將它與最前面的數交換後輸出這些數。
Author
lcy
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, a[100], m, t, k, j; while(scanf("%d", &n)!=EOF) { if(n==0) { break; } for(i=0; i<n; i++) { scanf("%d", &a[i]); } m=a[0]; k=0; for(i=0; i<n; i++) { if(a[i]<m) { m=a[i]; k=i; } } t=a[0]; a[0]=a[k]; a[k]=t; j=0; for(i=0; i<n; i++) { if(j!=0) { printf(" "); } j++; printf("%d", a[i]); } printf("\n"); } return 0; }