编写函数,将大小为10的数组里面的整数升序排列,并编写一个函数,使得插入一个数之后,数组里面的整数依然按照升序排列

//排序函数

int ascending_array(int *array,int size)

{
for (int i = 0; i < size; i++)
{

for (int j = 0; j < size - i - 1; j++)
{

if (array[j]>array[j + 1])
{
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
for (int k = 0; k < size; k++)
printf("%d\n",array[k]);
return 0;

}


//插入函数

int insert_array(int *array, int n)
{
int new_array[11];
int i;
for (i = 0; i < 10; i++)
new_array[i] = array[i];
if (n < array[0])
{
for (i = 10; i>0; i--)
new_array[i + 1] = new_array[i];
new_array[0] = n;


}
else if (n>array[9])
{
new_array[10] = n;

}
else
{
for (i = 0; i < 9; i++)
{
if (n>array[i] && n < array[i + 1])
{
for (int j = 10; j >= i; j--)
new_array[j + 1] = new_array[j];
new_array[i+1] = n;
}

}

}
for (i = 0; i < 11; i++)
printf("%d\n",new_array[i]);


return 0;
}


int main()
{
int number_array[10];
for (int i = 0; i < 10; i++)
scanf("%d",&number_array[i]);
ascending_array(number_array,10);
insert_array(number_array,18);

return 0;
}

你可能感兴趣的:(从零学习c语言编程题)