#include <stdio.h>
int main()
{
int arr[10] = { 1,3,6,9,15,28,35,53,63 };
int x=0;//定义这个输入的数
int i=0 ;
int index = 0;
scanf_s("%d", &x);
if (x<= arr[0])
index = 0;//当x小于最小数时,index等于0
else if (x>= arr[8])
index = 9;//当x大于等于最大数时,index等于9
else
{
for (i = 0; i < 9; i++)
{
if (x>= arr[i] && x<= arr[i + 1])//如果x是数组两个数中间的数,则i+1是放入数组对应的位子
{
index = i + 1;
break;
}
}
}
for (i = 8; i >= index; i--)//从index开始到arr【8】,倒序逐个将数组元素向后移动一位
{
arr[i + 1] = arr[i];
}
arr[index] = x;//最后将X放入数组index处
for (i = 0; i <=9; i++)//循环输出数组所有10个元素
{
printf("%d\t", arr[i]);
}
return 0;
}
输入X一个整数4
运行结果:
标签:index,arr,int,53,插入,63,数组,升序 From: https://blog.csdn.net/doki_123/article/details/143497177