Q - salida de intercambio de datos HDU - 2016
Introducir un número n (n <100), encontrar el número más pequeño en el que los datos que intercambian con él las más importantes salidas estos números.
Entrada
Una pluralidad de conjuntos de datos de entrada, cada uno representando una línea en cada línea es un número entero n, los valores numéricos en este caso de prueba, es seguido por n números enteros. n = 0 indica el final de la entrada, no se trata.
Salida
Para cada caso, el número de columnas después de la salida de conmutación, cada salida por línea.
Ejemplo de entrada
4 2 1 3 4 5 5 4 3 2 1 0
Ejemplo de salida
1 2 3 4 1 4 3 2 5
Ejemplo de programa:
#include<stdio.h>
#define N 100
int main(){
int n;
while(~scanf("%d",&n)&&n){
int a[N]={0},i,temp,flag;
scanf("%d",&a[0]);
temp=a[0]; flag=0;
for(i=1;i<n;i++){
scanf("%d",&a[i]);
if(temp>a[i]){
temp=a[i]; flag=i;
}
}
a[flag]=a[0]; a[0]=temp;
for(i=0;i<n-1;i++)
printf("%d ",a[i]);
printf("%d\n",a[i]);
}
}