编程初学者入门
训练BC123 有序序列插入一个整数
#include<stdio.h>
int main() {
int N, i, arr[100];
scanf("%d", &N);
for (i = 0; i < N; i++) {
scanf("%d", &arr[i]);
}
int n;
scanf("%d", &n);
for (i = 0; i < N; i++) {
if(n<arr[i]){ //找到插入位置
for(int j=N;j>i;j--){
arr[j]=arr[j-1]; //通过内层循环,从数组末尾开始将元素依次后移
}
arr[i]=n;//将n插入合适位置
break;//跳出循环
}
if(i==N){//在前面的循环中,变量 i 从 0 开始遍历到 N - 1(假设数组长度为 N)。如果循环结束后 i 的值等于 N,说明在整个循环过程中都没有找到新数 n 的合适插入位置。
arr[N]=n;
}
for (i = 0; i <= N; i++) {
printf("%d ", arr[i]);
}
return 0;
}