#include static int numbers[256], tmp[256]; static void MergeSort(int x, int y) { int m = (x + y) / 2; int i, j, t; if( m == x ) return; MergeSort(x, m); MergeSort(m, y); for(i = t = x, j = m; t < y; t++) { if( i < m ) { if( j < y ) tmp[t] = numbers[i] < numbers[j] ? numbers[i++] : numbers[j++]; else tmp[t] = numbers[i++]; } else { tmp[t] = numbers[j++]; } } for(i = x; i < y; i++) numbers[i] = tmp[i]; } int main(int argc, char **argv) { int i, count; for(count = 0; count < 256; count++) { if( scanf("%d", &i) != 1 ) break; numbers[count] = i; } MergeSort(0, count); for(i = 0; i < count; i++) printf("numbers[%d] = %d\n", i, numbers[i]); return 0; }