求C语言题目解决办法

来源:百度知道 编辑:UC知道 时间:2024/05/24 00:38:53
急急急急,请会的大大帮忙,小弟跪谢了
将两个按升序排列好的字符串合并为一个字符串。
1。合并后的字符串仍然为升序排列。
2。自定义函数实现合并操作,使用指针作为函数参数和返回值。
3。定义函数指针调用函数。
4。遇到两个字符串中有相同字符时,以第一个字符串中的字符优先。
5。在主函数中定义要合并的字符串,并在函数中输出合并后的字符串,输出要有说明文字。

#include<stdio.h>
#include<string.h>
typedef char DataType;
#define MaxSize 500 //根据你的字符串的大小可改变值,这里用500
//定义数据元素结构体
typedef struct
{
DataType list[MaxSize];
int size;
}SeqList;

//初始化顺序表
int ListInitiate(SeqList *L)
{
L->size=0;
return 1;
}
//顺序表当前数据元素的个数
int ListLength(SeqList *L)
{
return L->size;
}

//按一定顺序向顺序表插入数据元素
int ListOrderInsert(SeqList *L,DataType x)
{
int j;
if(L->size>=MaxSize)
return 0;
for(j=L->size-1;j>=0&&x<L->list[j];j--)
L->list[j+1]=L->list[j];
L->list[j+1]=x;
L->size++;
return 1;
}

//取顺序表中的数据元素
int ListGet(SeqList *L,int i,DataType *x)
{
if(i<0||i>L->size-1)
return 0;
else
{
*x=L->list[i];
return 1;
}
}

//将一个顺序表复制到另一个顺序表
void ListCopy