努力De小李 2021-09-28 13:41 采纳率: 100%
浏览 32
已结题

有没有知道这个应该怎么做呢?

img


#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
int L[MAXSIZE]; //顺序表L

void InPutList(int L[ ]); //根据输入数据构建顺序表L
int LocateElem(int L[ ], int e); //在顺序表L中查找元素e

int main()
{
InPutList(L);
int e;
int pos;
scanf("%d",&e);
pos = LocateElem(L,e);
printf("The position of %d in SequenceList L is %d\n",e,pos);
return 0;
}

void InPutList(int L[ ])
{
int e;
int i=0;
scanf("%d",&e);
while(e!=-1)
{
L[i++]=e;
scanf("%d",&e);
}
}

int LocateElem(int L[ ], int e)
{//请在下面给出本函数的完整代码,实现在L中查找e,查找成功返回其序号,否则返回0

}

  • 写回答

1条回答 默认 最新

  • 偷窃月亮的贼 2021-09-28 14:58
    关注

    C语言中,子函数中无法正确获取数组大小,因为传进来的是数组第一个元素的地址,长度相当于为1,所以必须把数组的长度也要传进来:

    #include <stdio.h>
    #include <stdlib.h>
    
    #define MAXSIZE 100
    
    int L[MAXSIZE]; //顺序表L
    
    void InPutList(int L[]);                  //根据输入数据构建顺序表L
    int LocateElem(int L[], int size, int e); //在顺序表L中查找元素e
    
    int main()
    {
        InPutList(L);
        int e;
        int pos;
        scanf("%d", &e);
        int size = sizeof(L) / sizeof(int);
        pos = LocateElem(L, size, e);
        printf("The position of %d in SequenceList L is %d\n", e, pos);
        return 0;
    }
    
    void InPutList(int L[])
    {
        int e;
        int i = 0;
        scanf("%d", &e);
        while (e != -1)
        {
            L[i++] = e;
            scanf("%d", &e);
        }
    }
    
    int LocateElem(int L[], int size, int e)
    {
        //请在下面给出本函数的完整代码,实现在L中查找e,查找成功返回其序号,否则返回0
        if (size == 0)
        {
            return 0;
        }
        for (int i = 0; i < size; i++)
        {
            if (L[i] == e)
            {
                return i;
            }
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月23日
  • 已采纳回答 10月15日
  • 创建了问题 9月28日

悬赏问题

  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面