题解 | #有序序列插入一个整数#
有序序列插入一个整数
https://www.nowcoder.com/practice/444e87f938464906a1649cff236b102b
#include <stdio.h> int main() { int i1 = 0,i2=0; int zu[100] = { 0 }; int n = 0,num=0; scanf("%d", &n); for (i1 = 0; i1 < n; i1++) { scanf("%d", &zu[i1]); } scanf("%d", &num); for (i1 = 0; i1 < n; i1++) { if (num > zu[n - 1]) { zu[n] = num; break; } else if (num < zu[0]) { int t = 0; int t1 = 0; t = zu[i1]; zu[i1] = num; for (i2 = i1 + 1; i2 < n + 1; i2++) { t1 = zu[i2]; zu[i2] = t; t = t1; } break; } else if (num >= zu[i1] && num <= zu[i1 + 1]) { int t = 0; int t1 = 0; t = zu[i1 + 1]; zu[i1 + 1] = num; for (i2 = i1 + 2; i2 < n + 1; i2++) { t1 = zu[i2]; zu[i2] = t; t= t1; } break; } } for (i1 = 0; i1 < n+1; i1++) { printf("%d ",zu[i1]); } return 0; }