#include <stdio.h> |
int main( void ) { |
int a[100], i, j, n, x; |
printf ( "请输入初始有序数组中元素的个数n:\n" ); |
scanf ( "%d" , &n); |
printf ( "请依次输入数组元素(从大到小或从小到大均可):\n" ); |
for (i = 0; i < n; scanf ( "%d" , &a[i++])) |
; |
printf ( "请输入要插入的数x:\n" ); |
scanf ( "%d" , &x); //以上均为获取所需数据 |
printf ( "新有序数组为:\n" ); |
if (a[0] < a[n - 1]) { |
for (i = 0; i < n; i++) { |
if (x <= a[i]) { |
for (j = n; j >= i + 1; j--) |
a[j] = a[j - 1]; |
a[i] = x; |
break ; |
} |
} |
} else { //从小到大 |
for (i = 0; i < n; i++) { |
if (x >= a[i]) { |
for (j = n; j >= i + 1; j--) |
a[j] = a[j - 1]; |
a[i] = x; |
break ; |
} |
} |
} //从大到小 |
for (i = 0; i <= n; printf ( "%d%c" , a[i++], 32)) |
; |
return 0; |
} |