朋友们帮忙改一个C程序,算法的C语言实现,第一次做,错误太多,想通过一个例子理解

来源:百度知道 编辑:UC知道 时间:2024/06/05 15:02:15
#include<stdio.h>
void main()
void Union(List &La, List Lb) // 将所有在线性表Lb中但不在La中的数据元素插入到La中
{
int La_len,Lb_len,i;
ElemType e;
La_len = ListLength(La); // 求线性表的长度
Lb_len = ListLength(Lb);
for (i=1; i<=Lb_len; i++) {
GetElem(Lb, i, e); // 取Lb中第i个数据元素赋给e
if (!LocateElem(La, e, equal)) // La中不存在和e相同的数据元素
ListInsert(La, ++La_len, e); // 插入
}
}
main()
{
char List a[50],list b[50];
int i,j;
for(i=0,j=0;i<50,j<50;i++,j++) {a[i]=getch();b[j]=getch;}
Union(&a,b);
printf("%c\n",a)
}
朋友们说个方法啊,指个路啊,

#include<stdio.h>
//void main()这一句实在是没必要。。。因为后面有main()函数的实现
void Union(List &La, List Lb) // 将所有在线性表Lb中但不在La中的数据元素插入到La中
{ //这个函数的声明有问题。List根本就没有这个类型,你也没有定义,但是你却直接用了
int La_len,Lb_len,i;
ElemType e; //ElemType这个类型也没有,自己需要实现
La_len = ListLength(La); // 求线性表的长度
Lb_len = ListLength(Lb); //这个函数也没有实现ListLength(List a);需要自己实现
for (i=1; i<=Lb_len; i++) {
GetElem(Lb, i, e); // 取Lb中第i个数据元素赋给e //同样,这个函数你也没有实现
if (!LocateElem(La, e, equal)) // La中不存在和e相同的数据元素 //同上
ListInsert(La, ++La_len, e); // 插入 //the same as above
}
}
main()
{
char List a[50],list b[50]; //这里定义也有问题。char List??如果要定义字符串数组直接char a[50];或者定义链表结构
//List a;前提是你要有List的结构体啊。。。我在你的程序里没找到
int i,j;
for(i=0,j=0;i<50,j<50;i++,j++) {a[i]=getch();b[j]=getch;}
Union(&a,b);
printf("%c\n",a)
}