[c]代码库
#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;
}
[代码运行效果截图]