micial 发表于 2020-3-9 02:47:35

运行不出来求解答!!

#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define MAX 20
#define changdu 10
//定义Sq类型线性表
typedef struct
{
        int *elem;
        int length;
        int listsize;

}Sq;
//建立Sq类型线性表
void CreatList(Sq &L)
{
        L.elem=(int*)malloc(MAX *sizeof(int));
        L.listsize=MAX;
        L.length =5;
        printf("输入表的长度:");
        scanf("输入%d个数:",&L.length );
        for(int i=0;i<L.length ;i++)
                scanf("%d",&L.elem );
}
void Traverse(Sq &L)
{
        printf("表中数据为:");
        for(int i=0;i<L.length;i++)
                printf("%3d",L.elem);
        printf("\n");
}
void InitList(Sq &L)
{
        L.elem=(int*)malloc(changdu *sizeof(int));
        L.length=0;
        L.listsize =changdu;
}
void ListInsert(Sq &L,int i,int e)
{
        int *p,*q;
        q=&L.elem;
        for(p=&L.elem;p>=q;--p)
                *(p+1)=*p;
        *q=e;
        ++L.length;
        return;
}

void main()
{
        Sq L;
        CreatList(L);
        Traverse(L);
        Sq S;
        CreatList(S);
        Traverse(S);
        Sq M;
        InitList(M);
        int i=1,j=1,k=0,ai,bj;
        while((i<=L.length)&&(j<=S.length))
        {
                ai=L.elem;
                bj=S.elem;
        }
        if(ai<=bj)
        {
                ListInsert(L,++k,ai);
                ++i;
        }
        else
        {
                ListInsert(S,++k,bj);
                ++j;
        }
        while(i<=L.length)
        {
                ai=L.elem;
                ListInsert(M,++k,ai);
        }
        while(j<=S.length)
        {
                bj=S.elem;
                ListInsert(M,++k,bj);
        }
        Traverse(M);
}

页: [1]
查看完整版本: 运行不出来求解答!!