C语言__数组中的查找某一元素,并显示其下标号!急!求高手!

作者&投稿:盈冒 (若有异议请与网页底部的电邮联系)
C语言中在整数数组中,查找某个元素,如果查找成功,返回其下标;否则,返回-1~

#include#include int main(){ int len, data, ret=-1,input; int *arr; scanf("%d %d", &len, &data); arr = (int*)malloc(len*sizeof(int)); for (int i=0; i<len; i++) { scanf("%d",&input); arr[i] = input; } for (int j=0; j<len; j++){ if (arr[j] == data) { ret = j; break; } } printf("
%d", ret);}

我给你个代码,比较简单的

int FindSecondMaxValue(int src[], int count)
{
int max = 0;
int secondMax = 0;

if (count==0) return secondMax;
if (count==1)
{
return src[0];
}
else if (src[0] > src[1])
{
max = src[0];
secondMax = src[1];
}
else
{
max = src[1];
secondMax = src[0];
}

for (int i=2; i<count; ++i)
{
if (src[i] >= max)
{
secondMax = max;
max = src[i];
}
else
{
if (src[i]>secondMax)
{
secondMax = src[i];
}
}
}
return secondMax;
}

二分法.
#include"stdio.h"
int search(int a[],int x)
{
int find,low,high,mid;
find=0;low=1;high=10;
while(!find&&low<=high)
{
mid=(low+high)/2;
if(x==a[mid])find=mid;
else if(x<a[mid])high=mid-1;
else low=mid+1;
}
return find;
}
void main()
{
int i,x,a[11];
printf("请按升序输入10个数:");
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("请输入待查找的数x:");
scanf("%d",&x);
printf("数%d在数组a中的位置为%d\n",x,search(a,x));
}

#include<stdio.h>
main()
{
int a[10],i,n;
printf("Please enter 10 numbers:\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
printf("Give me a number witch you need to seach:");
scanf("%d",&n);
for(i=0;i<10;i++)
{
if(a[i]==n)
{
printf("a[%d]=%d\n",i,n);
}
}
getch();
}


c 语言中查找一个值在一个一维数组中是否存在 如果存在 得出它的下标...
include<stdio.h>\/\/定义查找方法int find(int value\/*查到的值*\/,int *arr\/*查找的数组*\/,int count\/*数组长度*\/){ for(int i=0;i<count;i++){\/\/循环数组中的每一个元素 if(arr[i]==value){\/\/判断该元素是否是查找的值 return i;\/\/已找到,返回找到该值在数组中的索引...

C语言中如何输出数组中的所有值
编写一个C程序,运行时输入a,b,c三个值,输出其中值最大者的步骤:1、首先输入三个数,求三个数中的最大值 include<stdio.h> int main(){ int max(int x,int y,int z); int a,b,c,m; scanf("%d,%d,%d",&a,&b,&c); m=max(a,b,c); printf("the max numb...

用c语言编制函数,在字符串数组中查找与另一字符串相等的字符串,函数...
下面是c语言实现字符串查询的函数,查到返回字符串的首址,查询不到返回NULL指针。include <stdio.h> char *my_strstr(char *src, char *str){ if(!src||!str) return NULL;while(*src){ char *p1 = src;char *p2=str;while(*p1 &&*p2&&*p1 == *p2) p1++,p2++;\/\/注意循环体中间...

php里说出数组的常用函数及用法?
获取二维数组中的值的集合 array_column() 获取二维数组中的值的集合 提取数组的键与值 array_values 提取数组的值构成一维数组 array_keys 提取数组的键构成一维数组 返回数组中的随机的键 array_rand() 返回数组中的随机的键 返回数组中值的数量 count() 返回数组中值的和 查询数组中...

C语言,删除数组中的重复数字然后输出
include "stdio.h"include "string.h"void main(){ int i,k=1,j=10,a[10]={4,4,4,4,5,4,9,9,9,10};for(k=i=1;i<10;i++){ for(j=0;j<k;j++){ if(a[j]==a[i]) break;} if(j==k) a[k++]=a[i];} printf(" \\n ");for(i=0;i<k;i++){ pr...

用自己的语言说出php中数组的常用函数和用法?
array_filter : 过滤数组中的无效元素,可以使用回调函数过滤 array_map : 使用回调函数依次处理所有元素 implode: 将一维数组转为特定符号隔开的字符串,explode: 将特定符号隔开的字符串转为一维数组 sort \/ksort: 将数组进行升序排序 array_unique: 将数组元素去重 array_values: 取数组的值,重新...

c语言编程题:从具有10个元素的数组中查找指定值k(k从键盘输入)的下标...
include <stdio.h>int main(void){int a[10]={1,2,3,4,5,6,7,8,9,10};int i,k;scanf("%d",&k);for(i=0;i<10;i++){if(a[i]==k){printf("指定值k的下标是:%d\\n",i);break;}}if(i==10){printf("没有一个元素的值等于指定值k!\\n");} return 0;} ...

如何查询数组中的数组
C语言中的标准函数库中的strchr()函数可以实现查找字符串中的某个字符。头文件: #include <string.h> 函数原型:char *strchr(const char *s, int c);函数说明:从左向右,在字符串s中查找字符c首次出现的位置,如果找到返回c在s中的位置(指针),否则返回NULL 例:include <stdio.h> include...

求!C语言一维数组编程:在一维数组中查找一个指定的值,找到返回其位置序 ...
http:\/\/baike.baidu.com\/view\/610605.htm?from_id=9796273&type=syn&fromtitle=%E6%8A%98%E5%8D%8A%E6%9F%A5%E6%89%BE&fr=aladdin C语言数组下标从 0 开始 找不到应该返回-1 C语言代码 intBinSearch(SeqList*R,intn,KeyTypeK){ \/\/在有序表R[0..n-1]中进行二分查找,成功时...

数组的方法有哪些
数组中常用的方法有:1、给数组末尾添加新内容的push方法;2、删除数组最后一项的pop方法;3、删除数组第一项的shift方法;4、向数组首位添加新内容unshift方法;5、按照条件查找出其中的部分内容。数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的...

岳阳县19730901662: C语言如何查找并输出数组中含有某一关键字的所有元素? -
油章安必: strcmp 是整个字符串比较的,不能用 strcmp,可以用 strstr() 函数,strstr 是在一个字符串中查找一个子串,如果查到返回子串在字符串的位置,查找不到返回NULL.例如:const char *p = strstr("清炒土豆丝", "土豆");

岳阳县19730901662: 怎样利用c语言编写一个程序在一个字符串数组中查找一个指定的字符并输出他第一次 -
油章安必: #include<stdio.h> #include<string>void main() {char a[20],c; //a[20]为字符串,c为要查找字符int i,n[5],num = 0,j = 0; //i,j为计数器,n[5]纪录下标,num记录个数printf("请输入字符串(少于20个字符)\n");gets(a);printf("请输入要查找...

岳阳县19730901662: 在数组中查找指定元素指针与数组C语言 -
油章安必: 调试程序的时候我输入了一些输出语句,后面跟有/* */的,你用的时候删掉就可以了. 记得采纳最佳答案!#include "stdafx.h"#include <stdio.h> int main(void) {int i, index, n, res, x;int repeat, ri;int a[10]; int search(int list[], int n, int x); ...

岳阳县19730901662: C语言 编写程序,在一个整型数组中查找某个数并将其删除.(要求用指针) -
油章安必: #include #include int main() { int i,*p,a[5]={1,2,3,4,5}; p=&a[0]; int num,count; printf("请输入要删除的数字\n"); scanf("%d",&num); for(i=0;i<5;i++) { if(*p++==num) { count=i; } } p=&a[0]; for(i=count;i<4;i++) { *(p+i)=*(p+i+1); *(p+i+1)=null; } p=&a[0]; for(i=0;i<5;i++) { if(a[i]!=0) { printf("%d\n",*p++); } } }

岳阳县19730901662: c语言中输入一个数,在一维数组中查找,并输出它的地址,求大神 -
油章安必: main() { int a[20],i,c,k=-1; for(i=0;i<20;i++)a[i]=2*i; printf(“已经产生了一个0~38之间的数组,请输入一个值查找=>”); scanf(“%d”,&c); for(i=0;i<20;i++) { if(a[i]==c) { k=i; break; } } if(k==-1)printf(“你输入的 %d 不在数组中.”,c); else printf(“%d 是第 %d 个数,地址是 %x .”,c,k,&a[k]); }

岳阳县19730901662: C语言中怎么查找字符串数组中的某个字符? -
油章安必: #include void main() { char sh[20];int i;gets(sh);for( i=0;i<20;i++)if(sh[i]!='@')printf("没有字符 @\n");elseprintf("有字符 @\n"); } //你用break,第一只就break循环了

岳阳县19730901662: 在一个数组中查找一个数,用C语言怎么写代码?
油章安必: main() { int a[10]; int i,find; bool result; bool find_num(int b[],int j); for(i=0;i&lt;10+i++) scanf("%d",a[i]);/* 输入数组 */ scanf("%d",find);/*输入要查找的数*/ result=find_num(a,find); if (result==0) printf("the number isnot find\n"); else printf(the ...

岳阳县19730901662: c语言编程,一维数组,从数组中找数 -
油章安必: #include <stdio.h> #define N 10 int main() {int arr[N];int n;int i;int flag;for (i = 0; i < N; i++){printf("请输入第%d个元素", i + 1);scanf("%d", &arr[i]);} while (1){flag = 0;printf("请输入要查找的n的值:");scanf("%d", &n); ...

岳阳县19730901662: C语言,怎样在100个数组中找到1个指定元素的位置 -
油章安必: 先排序,再相减就可以啦!int a[100];//假设有100个元素 tint b,t=0; for(int i=1;i<100;i++) { if(t<a[i]) { t =a[i]; a[i] = a[i+1]; a[i+1] = a[i];//先用冒泡法排序; } } for(int i=1;i<100;i++) { if(a[i+1]-a[i]==0) { b++;//用相邻元素相减,假设等于0他们就相等. } }

岳阳县19730901662: 要求用C语言输入3X3数组,并找出其中某个元素,它是所在行最大的元素,同时也是所在列最小的 -
油章安必: #includeint arr[3][3]; void ArrIn() { int i,j; for(i=0;i<3;i++) { for(j=0;j<3;j++) { scanf("%d",&arr[i][j]); } } return; } void ArrCmp() { int i,j,k; int r_max=arr[0][0]; int col_index=0; int row_index=0; for(i=0;i<3;i++) { r_max=arr[i][0]; for(j=1;j<3;j++) //锁定当前行最...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网