编写程序,任意输入10个整数的数列,先将整数按照从小到大的顺序进行排列,然后输入一个整数插入到数列中,使数列保持从小到大的顺序排列
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
//定义数组 给出10个元素,留出一个供插入整数时使用
int a[11] = { 98,38,100,97,76,13,67,30,48,104 };
//进行排序
for (int i = 0; i < 10;i++) //控制趟数
{
for (int j=0; j < 10 - i;j++) //每一趟都把较小的数往后调;第一趟把最小的数调到最后,即9号位
{
if (a[j]<a[j+1]) //较大的往前移,较小的往后移
{
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for (int z = 0; z < 11;z++) //遍历数组,查看数组是否正确
{
printf("%d ", a[z]);
}
printf("\n");
//输入一个整数插入数组
int m;
printf("请输入一个整数:");
scanf("%d", &m); //输入一个整数
for (int p = 1; p < 11;p++) //插入整数m
{
if (m<=a[p-1]&&m>=a[p]) //m需要满足小于前面那个数,大于后面那个数,m插在两者中间
{
int temp = a[p];
a[p] = m;
m = temp;
printf("p=%d\n",p);
for (int k = p + 1; k < 11;k++) //将m后面的元素依次往后挪一个位置
{
temp = a[k];
a[k] = m;
m = temp;
}
}
}
for (int z = 0; z < 11; z++) //遍历数组,查看数组是否正确
{
printf("%d ", a[z]);
}
printf("\n");
return 0;
}