这个可以循环数组来对比数组中是否有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;
}
第二个:
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);
}
}