c 语言中查找一个值在一个一维数组中是否存在 如果存在 得出它的下标写一个 c

 我来答
三天打鱼N
2017-08-15 · TA获得超过1540个赞
知道大有可为答主
回答量:2032
采纳率:74%
帮助的人:579万
展开全部
#include<stdio.h>
//定义查找方法
int find(int value/*查到的值*/,int *arr/*查找的数组*/,int count/*数组长度*/){
    for(int i=0;i<count;i++){//循环数组中的每一个元素
        if(arr[i]==value){//判断该元素是否是查找的值
            return i;//已找到,返回找到该值在数组中的索引
        }
    }
    return -1;//没有找到,返回-1
}
int main(){
    int arr[]={16,57,67,88,99,10};//定义查找的数组
    //find(查到的元素,查找的数组,数组的长度)
    printf("10在数组中的索引是:%d\n",find(10,arr,6));//输出查找结果
    printf("67在数组中的索引是:%d\n",find(67,arr,6));
    printf("99在数组中的索引是:%d\n",find(99,arr,6));
    char c;
    scanf("%c",&c);//这句是为了防止控制台退出
    return 0;
}

算法思路

1、定义一个方法,用于查找指定数组中的值并返回找到处索引;

2、在main中定义数组变量并调用查找方法输出结果;

这是在Visual Studio里测试的效果

ilvwhy
2015-11-10 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.7万
采纳率:81%
帮助的人:2687万
展开全部
#include <stdio.h>
#define SIZE 10
int main( )
{
    int a[SIZE]={11,22,33,44,55,66,77,88,99,999};
    int i,j;
    printf("please input a number:");
    scanf("%d",&i);

    for(j=0;j<SIZE;j++)
    {
        if(a[j]==i)
            printf("index is %d",j);
    }
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
水上漂汤
2015-11-10 · TA获得超过1万个赞
知道大有可为答主
回答量:1830
采纳率:71%
帮助的人:1422万
展开全部

给你写个函数,调用它就可以返回下标值了。

//arr是数组名,n是数组大小,val是要查找的值。如果没找到返回-1
int find(int arr[], int n, int val)
{
    for (int i = 0; i < n; ++i)
    {
        if (val == arr[i])
            return i;
    }
    return -1;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式