| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1746 人关注过本帖
标题:主函数一直报错 不知道咋改
只看楼主 加入收藏
l923912586
Rank: 1
来 自:四川
等 级:新手上路
帖 子:32
专家分:3
注 册:2017-4-9
结帖率:60%
收藏
已结贴  问题点数:10 回复次数:6 
主函数一直报错 不知道咋改
程序代码:
#define MAXSIZE 10
#define OK 1
#define ERROR 0
#define OVERFLOW -1
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>

typedef int Status;
typedef int ElemType;
typedef struct{
    ElemType *elem;
    int length;
    int listsize;
}SqList;

Status CreatList(SqList&L){
    int i;
    do{
        printf("请输入元素个数:");
        scanf("%d",&L.length);
    }
    while(L.length<=L.listsize||L.length>=1);
    L.elem=(ElemType*)malloc(MAXSIZE*sizeof(ElemType));
    if(!L.elem)return ERROR;
    for(i<0;i<L.length;i++);{
    printf("请输入第%d个元素值=>",i+1);
    scanf("%d",&L.elem[i+1]);
}

 return OK;
}
Status InsertList(SqList&L,int i,int m,ElemType *E){
    if(i<1||i>L.length||m==0)
    return ERROR;
    ElemType *p;
    int j;
    if(L.length>=L.listsize){
        p=(ElemType*)realloc(L.elem,(L.length+m)*sizeof(ElemType));
        if(!p)exit(OVERFLOW);
        L.elem=p;
        L.listsize=L.length+m;
    }
    for(j-L.length-1;j>=i-1;--j)
    L.elem[j+m]=L.elem[j];
    for(j=0;j<m;j++)
        L.elem[i+j-1]=E[j];
        L.length=L.listsize;
        return OK;
}

    Status DeleteList(SqList&L,int x,int y){
        if(x>y)return ERROR;
        int i,j;
        for(i=j=0;i<L.length;i++)
        if(L.elem[i]>=x&&L.elem[i]<=y)
            L.length--;
        else
            L.elem[j++]=L.elem[i];
            L.length-=j;
            return OK;
    }
    
        void PrintList(SqList L){
            int i;
            printf("顺序表中有%d个元素:\n",L.length);
            for(i=0;i<L.length;i++)
            printf("%4d",L.elem[i]);
            printf("\n");
        }
        
         void main(){
             
        SqList L;
        int i,m=3;
        ElemType x,y;
        printf("(1)建立有n元素的顺序表\n");
         if(!CreatList(L)){printf("创建顺序表失败!\n"); return 0;} 
        printf("创建顺序表如下:\n");
             PrintList(L);
             
             printf("(2)在顺序表低i个位置上插入,个新元素。。。\n");
             printf("请输入插入位置i:");
             scanf("%d",&i);
             if(!InsertList(L,i,m,E))
             printf("插入失败!\n");
             else{
                 printf("插入成功!插入后的顺序表如下:\n");
                 PrintList(L); 
             }
             
             printf("(3)在顺序表n中删除其值介于x到y之间的所有元素。。。\n");
             
             printf("请输入被删元素上限值y:");
             scanf("%d",&y);
             if(!DeleteList(L,x,y))
            printf("参数错误,删除失败!");
            else{
                printf("删除后的顺序表如下:\n");
                PrintList(L); 
            } 
             
         }              [local]1[/local]


QQ截图20180326171627.png (5.46 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: int elem length printf 顺序表 
2018-03-26 17:16
童生
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:205
专家分:455
注 册:2018-3-7
收藏
得分:3 
别人写的吧?
2018-03-26 19:10
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10539
专家分:42927
注 册:2014-5-20
收藏
得分:3 
试试:
void main(){
    ......
}
改为:
int main(void){
    ......
    return 0;
}
2018-03-26 19:12
Jeyyion_han
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:207
专家分:301
注 册:2018-1-22
收藏
得分:3 
首先你自己写的代码不会自己分析问题么?最主要报的error还很简单
1.主函数 改写为
  int main()
        {
            ...................
            return 0;
        }
2.主函数中的if(!InsertList(L,i,m,E))  E 没定义,定义一下就好了。
2018-03-26 19:54
Jeyyion_han
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:207
专家分:301
注 册:2018-1-22
收藏
得分:0 
首先你自己写的代码不会自己分析问题么?最主要报的error还很简单
1.主函数 改写为
  int main()
        {
            ...................
            return 0;
        }
2.主函数中的if(!InsertList(L,i,m,E))  E 没定义,定义一下就好了。
2018-03-26 19:54
Jeyyion_han
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:207
专家分:301
注 册:2018-1-22
收藏
得分:0 
回复 3楼 吹水佬
我觉得他能写出这个代码,该这种error应该没问题的。哎。。。。
2018-03-26 19:56
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
收藏
得分:3 
两个地方。一、main函数数据类型要用int. 二、 main函数中,有个未声明的E变量。
我很怀疑这是复制过来又不仔细看报错。。

普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
2018-03-26 22:32
快速回复:主函数一直报错 不知道咋改
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018186 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved