C语言排序问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 03:49:20
自己给出已排好的7个数 然后再输入一个数 让输入的数插入到原数列当中

并输出!
在线等!!分不多 各位辛苦了!!

#include <stdio.h>
int main(int argc, char *argv[])
{
void sort(int *array,int n);
int array[8]={1,3,5,7,9,11,13},n;
scanf("%d",&n);
sort(array,n);
for(n=0;n<8;n++)
printf("%d ",array[n]);
return 0;
}

void sort(int *array,int n)
{
int i=0,j=0,temp=0;
for(i=0;i<7&&n>array[i];i++){} /*找到n应该在的位置*/
for(j=7;j>i;j--)
{
array[j]=array[j-1]; /*把n位置之后的元素向后移位*/
}
array[i]=n;
}
不知道你是要从小到大排序还是从大到小,我是从小到大的。

//按从小到大的顺序排列的
#include<stdio.h>
int main()
{
int a[8];
int i,j,m,temp;
printf("请输入你已经排好的7个数字:\n");
for(i=0;i<7;i++)
{scanf("%d",&a[i]);}
printf("输入你要插入的数字:\n");
scanf("%d",&m);
a[7]=m;
for(i=0;i<8;i++)
{
for(j=0;j<8-i;j++)