一开始正着往后挪,头都挪炸了,后来从后面挪就变得简单多了。
输出结果:
代码:
#include <stdio.h>
int main()
{
int a[11] = { 1,2,3,4,5,6,7,8,9,10 };
int num;
printf("请输入一个数:\n");
scanf_s("%d", &num);
for (int i = 0; i < 11; i++)
{
printf("%-4d", a[i]);
}
printf("\n");
//判断输入的数字是否小于数组的第一个数字或大于最后一个数字
if (num < a[0] || num > a[9])
{
if (num < a[0])
{
for (int i = 9; i >= 0; i--) //从后开始挪一位。
{
a[i + 1] = a[i];
}
a[0] = num;
}
else
a[10] = num;
}
//这边就是num在区间之内的
else
{
int i = 9;
for (; i >= 0; i--)
{
if (num <= a[i] && num >= a[i - 1])
{
a[i + 1] = a[i]; a[i] = num; break;
}
a[i + 1] = a[i];
}
}
//打印输出。
for (int i = 0; i < 11; i++)
{
printf("%-4d", a[i]);
}
return 0;
}