商风起 2020-05-16 23:58 采纳率: 100%
浏览 632
已采纳

这一段代码运行后总是只有一个“press any key to continue”,有没有大佬看一看是怎么回事?


#include<stdio.h>
#include<stdlib.h>
#define maxlength 30
typedef int elemtype;
typedef struct
{ elemtype list[maxlength];
int length;}seqlist;

void InitList(seqlist *L)
{
    L->length=0;
}

void Insertlist(seqlist *L,int i,elemtype x)
{
    int j,n=L->length;
    if(i<1||i>n)
    {  printf("\n i值不合法");
       exit(1);
    }
    if(n>=maxlength)
    {  printf("\n 表空间上溢");
       exit(1);
    }
    for(j=n-1;j<i;j--)
    {
        L->list[j-1]=L->list[j];
    }
    L->list[j]=x;
    L->length++;
}

void DeleteList(seqlist *L,int i)
{ 
    int j,n=L->length;
    if(i<1||i>n)
    { 
       printf("\n i值不合法");
       exit(1);
    }
    for(j=i;j<=n-1;j++)
       L->list[j-1]=L->list[j]; 
    L->length--;
}

int main()
{
    int i;
    seqlist *L;
    InitList(L);
        for(i=1;i<31;i++)
        {
            Insertlist(L,i,i);
        }
        for(i=0;i<30;i++)
            pri
printf("%d",L->list[i]);
        return 0;
}
  • 写回答

1条回答 默认 最新

  • threenewbee 2020-05-17 10:31
    关注

    问题解决的话,请点采纳

    // Q1072297.cpp : Defines the entry point for the console application.
    //
    
    #include<stdio.h>
    #include<stdlib.h>
    #define maxlength 30
    typedef int elemtype;
    typedef struct
    { elemtype list[maxlength];
    int length;}seqlist;
    
    void InitList(seqlist *L)
    {
        L->length=0;
    }
    
    void Insertlist(seqlist *L,int i,elemtype x)
    {
        int j,n=L->length;
        if (i == 0 && n == 0)
        {
            L->list[0] = x;
            L->length=1;
            return;
        }
        if(i<1||i>n)
        {  
            printf("\n i值不合法");
            exit(1);
        }
        if(n>=maxlength)
        {  
            printf("\n 表空间上溢");
            exit(1);
        }
        for(j=n-1;j>=i;j--)
        {
            L->list[j+1]=L->list[j];
        }
        L->list[i]=x;
        L->length++;
    }
    
    void DeleteList(seqlist *L,int i)
    { 
        int j,n=L->length;
        if(i<1||i>n)
        { 
            printf("\n i值不合法");
            exit(1);
        }
        for(j=i;j<=n-1;j++)
            L->list[j-1]=L->list[j]; 
        L->length--;
    }
    
    int main()
    {
        int i;
        seqlist *L = (seqlist *)malloc(sizeof(seqlist));
        InitList(L);
        for(i=1;i<31;i++)
        {
            Insertlist(L,i - 1,i);
        }
        for(i=0;i<L->length;i++)
            printf("%d ", L->list[i]);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统