首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

哪位高手能帮小弟我找个c语言的异常

2013-07-01 
谁能帮我找个c语言的错误啊//建立给定的线性表L(12,25,7,42,19,38),将21和15分别插入在第4和第六个元素前

谁能帮我找个c语言的错误啊
//建立给定的线性表L=(12,25,7,42,19,38),将21和15分别插入在第4和第六个元素前面
//删除线性表的第五和第三个元素
#include<stdio.h>
typedef int Elemtype;//线性表的元素类型为int
#define maxlen 10//分配的存储单元个数为10
#define N 6
struct ListSq
{
    Elemtype e[maxlen];//存放元素
    int len;//线性表长度
};

//顺序表的创建算法
void CreateSq(ListSq &L,Elemtype A[],int n)
{
    int i;
    for(i=0;i<n;i++)
    L.e[i]=A[i];//给线性表的元素赋值
    //L.len=n;//置线性表的长度
}
//顺序表的插入算法
void InsertList(ListSq &L,int i,Elemtype elem)
{
    int j;
    if(L.len>=maxsize)
    {
        printf("发生溢出!");
        return ;
    }
    if((i<=0)||(i>=L.len))
    printf("i值不合法!");
    else
    {
        for(j=L.len-1;j>=i;j--)
        L.e[j+1]=L.e[j];
        L.e[i]=elem;
        L.len++
    }
}
//顺序表的删除算法
void DeleteList(ListSq &L,int i)
{
    int j;
    if(L.len==0)
    {
        printf("L线性表是空表!");
        return;
    }
    if((i<1)||i>L.len)
    printf("i的值不合法!");
    else
    {
        for(j=i;j<L.len;j++)
        L.e[j]=L.len[j+1];
        L.len--;
    }
}
//顺序表的输出算法
void PrintList(ListSq L)
{
    int i;
    printf("当前线性表:\n");
    for(i=0;i<L.len;i++)
    printf("%d\t",L.e[i]);
    printf("\n");
}
//主函数
void main()
{
    struct ListSq L;
    int A[N];
    int i,j,m,s,p,elem;
    printf("请输入线性表的元素:\n");
    for(j=0;j<N;j++)
    scanf("%d",&A[j]);//将线性表的元素放在A数组中
    CreateSq(L,A,N);//调用创建算法建立顺序表
   PrintList(L);//输出所创建的顺序表
    for( m=1;m<3;m++)
    {
        printf("请输入插入位置(指定元素的后面插入):\n");
        scanf("%d",&i);
        printf("请输入插入元素的值:\n");
        scanf("%d",&elem);//输入插入元素的值
        InsertList(L,i,elem);//调用插入算法
        PrintList(L);//输出插入元素后的顺序表
    }
    for( s=1;s<3;s++)
    {
        printf("请输入删除位置:\n");
        scanf("%d",&p);
        DeleteList(L,p);//调用删除算法


        PrintList(L);//输出删除元素后的顺序表
    }


}

.c|14|error: expected ')' before '&' token|
.c|22|error: expected ')' before '&' token|
.c|41|error: expected ')' before '&' token|
.c|59|error: expected ')' before 'L'|
||=== 已完成构建: 4 个错误, 0 个警告 ===|


线性表 C
[解决办法]
L.e[i]=elem;
        L.len++
后面缺个;

 L.e[j]=L.len[j+1];
        L.len--;
应该是L.e[j]=L.e[j+1];   L.len是int类型怎么变成数组了?
[解决办法]
老哥你太多错误了。
C语言的结构体定义类型要加上struct,
函数形参不能有&。
好多错误。

#include<stdio.h>
typedef int Elemtype;//线性表的元素类型为int
#define maxlen 10//分配的存储单元个数为10
#define N 6
struct ListSq
{
Elemtype e[maxlen];//存放元素
int len;//线性表长度
};

//顺序表的创建算法
void CreateSq(struct ListSq L,Elemtype A[],int n)
{
int i;
for(i=0;i<n;i++)
L.e[i]=A[i];//给线性表的元素赋值
//L.len=n;//置线性表的长度
}
//顺序表的插入算法
void InsertList(struct ListSq L,int i,Elemtype elem)
{
int j;
if(L.len>=maxlen)
{
printf("发生溢出!");
return ;
}
if((i<=0)
[解决办法]
(i>=L.len))
printf("i值不合法!");
else
{
for(j=L.len-1;j>=i;j--)
L.e[j+1]=L.e[j];
L.e[i]=elem;
L.len++;
}
}
//顺序表的删除算法
void DeleteList(struct ListSq L,int i)
{
int j;
if(L.len==0)
{
printf("L线性表是空表!");
return;
}
if((i<1)
[解决办法]
i>L.len)
printf("i的值不合法!");
else
{
for(j=i;j<L.len;j++)
L.e[j]=L.e[j+1];
L.len--;
}
}
//顺序表的输出算法
void PrintList(struct ListSq L)
{
int i;
printf("当前线性表:\n");
for(i=0;i<L.len;i++)
printf("%d\t",L.e[i]);
printf("\n");
}
//主函数
void main()
{
struct ListSq L;
int A[N];
int i,j,m,s,p,elem;
printf("请输入线性表的元素:\n");
for(j=0;j<N;j++)
scanf("%d",&A[j]);//将线性表的元素放在A数组中
CreateSq(L,A,N);//调用创建算法建立顺序表
PrintList(L);//输出所创建的顺序表
for( m=1;m<3;m++)
{
printf("请输入插入位置(指定元素的后面插入):\n");
scanf("%d",&i);
printf("请输入插入元素的值:\n");
scanf("%d",&elem);//输入插入元素的值
InsertList(L,i,elem);//调用插入算法
PrintList(L);//输出插入元素后的顺序表
}
for( s=1;s<3;s++)
{
printf("请输入删除位置:\n");
scanf("%d",&p);
DeleteList(L,p);//调用删除算法
PrintList(L);//输出删除元素后的顺序表
}
}




[解决办法]
你的代码既然是C语言的代码,C语言是没有引用的,你的第一个error在第14行,函数的参数你使用的是引用,
所以报错。

授人以鱼不如授人以渔,lz你的编译器告诉你你的代码的

14行有第一个error,接下来的是22,41,59行都有error,解决多个error的时候,
都是先解决第一个,然后再编译,因为第一个error出现之后有可能影响编译器后面的编译导致编译器
误报error。
.c
[解决办法]
14
[解决办法]
error: expected ')' before '&' token
[解决办法]
  
.c
[解决办法]
22
[解决办法]
error: expected ')' before '&' token
[解决办法]

.c
[解决办法]
41
[解决办法]
error: expected ')' before '&' token
[解决办法]

.c
[解决办法]
59
[解决办法]
error: expected ')' before 'L'

热点排行