#include <stdio.h>
#define ASIZE 10
int read_data(int a[]);
void bsort(int a[], int s, int e);
void disp_data(int a[], int s, int e);
void swap(int *a, int *b);
void main(void)
{
int a[ASIZE];
int k;
k = read_data(a);
bsort(a, 0, k-1);
disp_data(a, 0, k-1);
}
int read_data(int a[]) {
char buf[256];
int i, k;
k = 0;
for (i=0; i<ASIZE; i++) {
printf("Input number(%d) ",i);
fgets(buf,sizeof(buf),stdin);
sscanf(buf,"%d",&a[i]);
if (a[i] < 0)
break;
k++;
}
return(k);
}
void bsort(int a[], int s, int e) {
int i, j;
for (i=s; i<e; i++)
for (j=e; j>i; j--)
if (a[j-1]>a[j])
swap(&a[j-1],&a[j]);
}
void disp_data(int a[], int s, int e) {
int i;
for (i=s; i<=e; i++)
printf("%d ",a[i]);
printf("\n");
}
void swap(int *a, int *b)
{
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}