如果要查找的数在数组里面有多个怎么办?即数组里有两个8

来源:6-6 数组的应用(二)

慕用6545515

2018-04-01 10:45

#include <stdio.h>
#include<stdlib.h>
int getIndex(int arr[5],int value)
{
    int i;
    int index;
    for(i=0;i<5;i++)
    {
      if(arr[i]==value) 
       {
           index=i;
           break;/*一旦查找到8,就跳出循环,输出index,这种只能查找一次*/
        }
       else index=-1;
    }
    return index;
}

int main()
{
    int arr[5]={3,8,9,8,6};
    int value = 8;
    int index = getIndex(arr,value);      //这里应该传什么参数呢?
    if(index!=-1)
    {
        printf("%d在数组中存在,下标为:%d\n",value,index);            
    }
    else
    {
        printf("%d在数组中不存在。\n",value);   
    }
    system("pause");
    return 0;   
}


写回答 关注

1回答

  • white896
    2018-04-02 01:19:42

    你可以直接在查找函数里直接打印结果

    int getIndex(int arr[5],int value)
    {
        int i;
        int index=-1;//一开始设置为-1,假设没找到
        for(i=0;i<5;i++)
        {
          if(arr[i]==value) 
           {
               printf("    %d",i);//直接输出要查找数的下标

                 index=1;//找到一个设置为1

            }

        }
        return index;
    }

    int main()
    {
        int arr[5]={3,8,9,8,6};
        int value = 8;
        int index = getIndex(arr,value);      //arr是要查找的数组,value是你要查找的数值
        if(index!=-1)
        {
            printf("\n%d在数组中存在,\n",value);             
        }
        else
        {
            printf("\n%d在数组中不存在。\n",value);    
        }
        system("pause");
        return 0;    
    }

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926023 学习 · 20793 问题

查看课程

相似问题