题解 | #有序序列插入一个整数#
有序序列插入一个整数
https://www.nowcoder.com/practice/444e87f938464906a1649cff236b102b
#include <stdio.h>
#include <string.h>
void swap(int*a,int *b)
{
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
int main() {
int n,i;
scanf("%d",&n);
int arr[n+1];
for(int i=0;i<n+1;i++)
{
scanf("%d",&arr[i]);
}
int num = arr[n];
i = n-1;
while(arr[i]>num&&i>=0)
{
arr[i+1]=arr[i];
i--;
}
arr[i+1] = num;
for(i=0;i<n+1;i++)
{
printf("%d ",arr[i]);
}
}
就是一个简单的数组插入,感觉更简单的方法是读入之后,直接用for输出比arr[n]小的数,并在遇到第一个比arr[n]大的数时break,然后输出arr[n],最后输出剩余的数
查看12道真题和解析

