问答详情
源自:6-6 数组的应用(二)

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

#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;   
}


提问者:慕用6545515 2018-04-01 10:45

个回答

  • 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;    
    }