当前位置:首页 » 编程语言 » c语言中的数组怎么找到
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中的数组怎么找到

发布时间: 2022-04-01 17:30:28

c语言里怎么对一组CHAR类型的数组进行查找。。。。。。

/////////////////////////////////////////
// C-Free 4.1
// MinGW 3.4.5
// veket的小号
/////////////////////////////////////////

#include <stdio.h>
int FindChrInStr(char *);
int main()
{
char str1[] = "abcde";
char str2[] = "wxyzabc";
printf("%d\n", FindChrInStr(str1));
printf("%d\n", FindChrInStr(str2));
}
int FindChrInStr(char *s)
{
while(*s)
{
if('z'==*s)
{
break;
}
s++;
}
if(*s)
{
return 1;
}
else
{
return 0;
}
}

❷ C语言题目:在数组中查找指定元素

#include <stdio.h>

#define MAXN 10

int search( int list[], int n, int x );

int main()

{

int i, index, n, x;

int a[MAXN];

printf("输入个数: ");

scanf("%d",&n);

for( i = 0; i < n; i++ )

scanf("%d", &a[i]);

printf("输入x: ");

scanf("%d", &x);

index = search( a, n, x );

if( index != -1 )

printf("index = %d ", index);

else

printf("Not found ");

return 0;

}

int search( int list[], int n, int x ){

int i;

for(i=0;i<n;i++){

if(x==list[i])

return i;

}

return -1;

}

(2)c语言中的数组怎么找到扩展阅读:

数组使用规则:

1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。

2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。

3.如不给可初始化的数组赋初值,则全部元素均为0值。

4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。

网络-数组

❸ 在c语言中,如何在数组中寻找一个指定的数数

使用单循环,从数组的第一个元素开始查找,遍历整个数组,直到找到第一个所需的数就可以退出循环了。

❹ C语言:用指针的方法查找数组中某个数在数组的位置

对于函数:int* find(int a[], int value),其中a为整型数组首地址,value是被检验值。我们可以利用指针a间接引用数组第一个元素的值,并将其与value比较,比较完后,将指针向后移动,再通过间接引用的方式比较下一个元素值,依次下去,直到在整型数组中找到被检验值或者整型数组所有元素比较结束为止。
那么这里有个问题,我们如何通过指针知到整型数组什么时候结束呢?对于整型数组而言,没有办法,所以我们必须先知道整型数组的长度,可以在参数中给出,也可以在主函数定义中知晓。
程序如下:
int* find(int a[], int value)
{
int i=0,*p=a;
for(i=0;i<=9;i++)
{
if(*p==value)
return p;
else
p++;
}
if(i>=10)
return 0;
}
main()
{
int c[10]={1,2,3,4,5,6,7,8,9,0};
int n;
scanf("%d",&n);
printf("%x %d",find(c,n),*(find(c,n)));/*第一个为函数返回地址,第二个为函数返回地址里的值*/
getch();
}
另外,我们测试一个程序或者函数是否正确不在于其能否正确运行,而在于其运行的结果是否符合我们的预期。针对上述程序,测试方法如下:
输入任意一个数,如果这个数在数组C内,看是否能够打印出16进制的地址数和与输入值相同的数;如果不在数组C内,看是否返回值为0的地址。

❺ C语言查找数组中的数据

#define IntSize sizeof(int)
#define StructSize sizeof(struct tagresult)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef int *ptint;
typedef struct tagresult
{
int v;
char bl;
}*ptresult;

int lessthan(const void *v1,const void *v2)
{
int i1=*((ptint)v1),i2=*((ptint)v2);

if(i1==i2)
return 0;
else if(i1<i2)
return 1;
else
return -1;
}

int main()
{
int c,n,capacity=128,rlen=0,dlen;
ptint data=(ptint)calloc(capacity,IntSize);
ptresult result;

scanf("%d",&n);
result=(ptresult)calloc(n,StructSize);
memset(result,0,n*StructSize);
while(n-->0)
{
scanf("%d",&c);
dlen=0;
for(;c>0;c--)
{
if(dlen+1>=capacity)
{
capacity*=2;
data=(ptint)realloc(data,capacity);
}
scanf("%d",data+dlen++);
}
scanf("%d",&c);
//直接调用库函数qsort进行快速排序,就不自己写快速排序算法函数了
qsort(data,dlen,IntSize,lessthan);
if(c<=dlen)
{
(*(result+rlen)).v=*(data+c-1);
(*(result+rlen)).bl=1;
}
rlen++;
}
for(n=0;n<rlen;n++)
{
if(1==(*(result+n)).bl)
printf("Case #%d:%d\n",n+1,(*(result+n)).v);
else
printf("Case #%d:-1\n",n+1);
}
free(data);
free(result);
return 0;
}

❻ C语言查找数组中的值

if(num[i]=search) 这句错了,改成if(num[i]==search)

❼ C语言中怎么查找字符串数组中的某个字符

程序有误,修改如下:

#include <stdio.h>

#include <string.h>

void main(){

char sh[20];

gets(sh);

for(int i=0;i<20;i++)

{

if(sh[i]='@')

{

printf("判断出有字符@ ");

break;

}

if(sh[i]='')printf("无字符@ ");

}

}

(7)c语言中的数组怎么找到扩展阅读:

数组的使用规则:

1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。

2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。

3.如不给可初始化的数组赋初值,则全部元素均为0值。

4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。

网络-数组

❽ C语言在数组中快速找到指定的数的位置

int main(void)
{
int aiNum[10] = {1,23,34,22,33,44,55,31,24,90};
int i;
int number;
printf("input NUMBER");
scanf("%d",&number);

for(i=0;i<10;i++)
{
if(number == a[i])
break;
}
if(i>9)
{
printf("NOT FOUND NUMBER\n");
}
else
{
printf("LOCATION:[%d]\n",i);
}
return(0);
}

❾ 如何用c语言的数组,来进行文字的查找

C语言中的标准函数库中的strchr()函数可以实现查找字符串中的某个字符。头文件: #include <string.h>函数原型:char *strchr(const char *s, int c);函数说明:从左向右,在字符串s中查找字符c首次出现的位置,如果找到返回c在s中的位置(指针),否则返回NULL例:<pre t="code" l="cpp">#include <stdio.h>
#include <string.h>
void main()
{
char str[]="hello world";
char *p=strchr(str, 'w');
if ( p )
printf("find 'w'!);
else
printf("not found!");
}相关函数:char *strrchr(const char *s, int c); 从右向左,查找s中最右边的匹配字符位置char *strstr(const char *s, const char *sub); //在s中查找sub子串出现的位置

❿ C语言数组的查找函数

#include<stdio.h>
int main()
{
int a[5];
int i,max,min;
printf("input number:\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
max=a[0];
min=a[0];
for(i=0;i<5;i++){
if(a[i]>max)
max=a[i];
}
for(i=0;i<5;i++){
if(a[i]<min)
min=a[i];
}
for(i=0;i<5;i++){
printf("%d",a[i]);
printf(" ");
}
printf("\n");
printf("最大值为%d\n",max);
printf("最小值为%d\n",min);
return 0;
}