有一道C语言的题不会,大家帮帮忙了

来源:百度知道 编辑:UC知道 时间:2024/06/12 13:18:09
编制一个insert函数,是在一个有序数列中插入一个数后,这个数列仍有序
要求:1,主函数实现由键盘输入一个有序数列和要插入的数;
2,insert函数中设两个虚参(指针变量和数值型变量)分别接收数列首地址和要

插入的数,insert函数实现数据的插入
3,在主函数中输出插入后的结果

谢谢各位了

#include<stdio.h>
#define MAX 100

void insert(int num[],int n)
{
int tem1,tem2;
int i;
int j;
for(i=0;i<MAX;i++)
if(n>num[i])
continue;
else
break;

tem1=n;

for(j=i-1;j<MAX&&num[j]!=0;j++)
{
tem2=num[j+1];
num[j+1]=tem1;
tem1=tem2;
}
}

int main()
{
int num[MAX]={0};
int n;
int i;
int count;

i=0;
count=0;

while(scanf("%d",&num[i++])&&num[i]!='!') //输入个数不确定 以'!'结束
count++;
getchar();

scanf("%d",&n);

insert(num,n);

for(i=0;i<count+1;i++)
printf("%-5d",num[i]);

return 0;
}

#include <stdio.h>
#include <stdlib.h>
#define MAX 50
int R[MAX],N;
void insert(int *p,int m)
{int i,j;
for(i=0;i<N;i++)