求答啦…,。?、?😅

img

这个可以循环数组来对比数组中是否有x


#include <stdio.h>
int find(int x,int b[20]){
    int i=0;
    for(i=0;i<20;i++){
        if(b[i]==x)
            return i;
    }
    return -1;
}
int main()
{
    int b[20]={1,2,3,4,5,6,6,7,8,9,10},x;
    scanf("%d",&x);
    printf("%d",find(x,b));
    return 0;
}

img
第二个:

int find(int x,int b[20]){
    int i=0,t=-1;
    for(i=0;i<20;i++){
        if(b[i]==x){
            t=i;
            b[i]=0;
        }
            
    }
    return t;
}

如果有帮助请点一下我回答右上方的采纳,谢谢!以后有什么问题可以互相交流


#include <stdio.h>
int find(int x, int b[6]){
    for(int i=0;i<6;i++){    
        if(b[i]==x){
            b[i]=0;
            return i;
        }
    }        
    return -1;
}
int main(){
    int x=20;
    int b[6]={6,8,12,20,14,46};
    int y=find(x, b);
    printf("%d\n",y);
    for(int i=0;i<6;i++)
    {printf("%d ",b[i]);}
    return 0;
}
将找到的数组中对应元素置为0,输出结果
3
6 8 12 0 14 46 

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

#include "stdio.h"

int find(int x,int b[20]){
    for(int i=0;i<20;i++)
       if(b[i]==x) return i;
    return -1;
}

void main()
{
   int b[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} ,x,i;
   printf("请输入x:");
   scanf("%d",&x);
   int n = find(x,b);
   if(n!=-1){
        printf("%d在数组中的下标是%d\n",x,n);
        b[n] = 0;//对下标n的元素清0
        printf("清0后的数组:");
        for(int i=0;i<20;i++)
            printf("%d ",b[i]);
   }else{
        printf("%d在数组中没有找到\n",x);
   }
}

img