c语言数组元素的查找
Ⅰ c语言顺序查找法
如果是在已有n个元素的数组a中顺序查找值为x的元素,以下是实现查找的函数代码,查找成功则返回此元素的位置,否则返回-1:
int find(int a[],int n,int x)
{int i;
for(i=0;i<n&&a[i]!=x;i++);
return i<n?i:-1;
}
Ⅱ C语言实现整型数组中查找指定元素的函数
#include<stdio.h>
int search(int a[], int n, int searchValue) {
int i;
for(i=0; i<n; i++) if(a[i]==searchValue) return i;
return -1;
}
int main() {
int i;
int a[10],find,idx;
for(i=0; i<10; i++) {
printf("Input a[%d]:",i);
scanf("%d",&a[i]);
}
printf("Input searchValue:");
scanf("%d",&find);
idx=search(a,10,find);
if(idx!=-1) printf("pos=%d",idx);
else printf("not found");
}
Ⅲ C语言找出一个数组中出现次数最多的那个元素
#include "stdio.h"
int main()
{
int n,a[20],i,j,flag=0,max;
int b[20]={0};//计数数组
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]==a[j])
b[i]++;
for(i=0;i<n;i++)
if(b[i]!=0)
{
flag=1;
break;
}
if(flag==0)
{
printf("输入数据中没有重复出现的数!
");
return 1;
}
max=b[0];
for(i=1;i<n;i++)
if(b[i]>max)
max=b[i];
for(i=0;i<n;i++)
if(max==b[i])
printf("出现最多次数的是%d,一共出现%d次
",a[i],b[i]+1);
}