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