c语言检索函数 c语言检索文目录下文件

c语言字符串的查找用什么函数用strstr这个函数
包含文件:string.h
函数名: strstr
函数原型:extern char *strstr(char *str1, char *str2);
功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符) 。
返回值:返回该位置的指针,如找不到,返回空指针 。
C语言如何用函数来实现搜索#include stdio.h
int search(int a[],int b,int c,int i)
{
int x,y,z;
x=i 1;
z=b-1;
y=(x z)/2;
while(x=z)
{
if(a[y]c)
{
z=y-1;
y=(x z)/2;
continue;
}
if(a[y]c)
{
x=y 1;
y=(x z)/2;
continue;
}
return y 1;
}
return -1;
}
int main()
{
int i,m,pos;
scanf("%d",m);
int a[m];
【c语言检索函数 c语言检索文目录下文件】for(i=0;im;i)
{
scanf("%d",a[i]);
}
for(i=0;im;i)
{
pos=search(a,m,a[i],i);
if(pos!=-1)
{
printf("FOUND a[%d]=%d, position is %d\n",i,a[i],i 1);
return 0;
}
}
if(pos==-1)
{
printf("NOT FOUND\n");
}
return 0;
}
这种查找方法的数组必须是从小到大的 , 用遍历的话就没这个问题了 。
C语言,问一个函数,检索并且返回某字符在某字符串中第一次出现的位置 。是什么函数,返回值有哪些?急如下:函数名: strstr功能: 在字符串中查找指定字符串的第一次出现用法: char *strstr(char *str1, char *str2);strstr原型:extern char *strstr(char *haystack, char *needle);头文件:#include string.h功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL) 。说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL 。编辑本段函数原型1.Copyright 1990 Software Development Systems, Inc.char *strstr( const char *s1, const char *s2 ){int len2;if ( !(len2 = strlen(s2)) )return (char *)s1;for ( ; *s1;s1 ){if ( *s1 == *s2strncmp( s1, s2, len2 )==0 )return (char *)s1;}return NULL;}2.Copyright 1986 - 1999 IAR Systems. All rights reservedchar *strstr(const char *s1, const char *s2){int n;if (*s2){while (*s1){for (n=0; *(s1n) == *(s2n); n){if (!*(s2n1))return (char *)s1;}s1;}return NULL;}elsereturn (char *)s1;}编辑本段举例// strstr.c#include syslib.h#include string.hmain(){char *s="Golden Global View";char *l="lob";char *p;clrscr();p=strstr(s,l);if(p)printf("%s",p);elseprintf("Not Found!");getchar();return 0;}语法:* strstr(str1,str2)str1: 被查找目标 string expression to search.str2:要查找对象 The string expression to find.该函数返回str2第一次在str1中的位置,如果没有找到,返回NULLThe strstr() function returns the ordinal position within str1 of the first occurrence of str2. If str2 is not found in str1, strstr() returns 0.例子:功能:从字串” string1 onexxx string2 oneyyy”中寻找”yyy”(假设xxx和yyy都是一个未知的字串)char *s=” string1 onexxx string2 oneyyy”;char *p;p=strstr(s,”string2”);if(p==NULL) printf(“Not Found!”);p=strstr(p,”one”);if(p==NULL) printf(“Not Found!”);p =strlen(“one”);printf(“%s”,p);说明:如果直接写语句p=strstr(s,”one”),则找到的是onexxx string2 oneyyy,不符合要求所以需采用二次查找法找到目标
c语言函数find的使用方法c语言find函数c语言检索函数的用法详解
C语言之find()函数
find函数用于查找数组中c语言检索函数的某一个指定元素的位置 。
比如c语言检索函数:有一个数组[0, 0, 5, 4, 4]c语言检索函数;
问:元素5的在什么位置,find函数 返回值 为 2;
find (数组名起始查找元素的位置 , 数组名结束查找的元素位置 , 想要查找的元素)
直接上代码:
#include iostream
#include vector
#include algorithm//注意要包含该头文件
using namespace std;
int main()
{
int nums[] = { 3, 1, 4, 1, 5, 9 };
int num_to_find = 5;
int start = 0;
int end = 5;
int* result = find( numsstart, numsend, num_to_find );
if( result == numsend )
{
cout "Did not find any number matching "num_to_findendl;
}
else
{
cout "Found a matching number: "*resultendl;
}
return 0;
}
C语言数组的查找函数#includestdio.h
int main()
{
int a[5];
int i,max,min;
printf("input number:\n");
for(i=0;i5;i)
scanf("%d",a[i]);
max=a[0];
min=a[0];
for(i=0;i5;i){
if(a[i]max)
max=a[i];
}
for(i=0;i5;i){
if(a[i]min)
min=a[i];
}
for(i=0;i5;i){
printf("%d",a[i]);
printf("");
}
printf("\n");
printf("最大值为%d\n",max);
printf("最小值为%d\n",min);
return 0;
}
C语言查找函数首先,指针默认只有一个地址的长度的空间,存不了那么多的字符 。
其次,传值和传地址一塌糊涂,完全就是乱写么 。
scanf的第二个参数是地址,如果本身不是指针则需要取址符 。
我给你重写了算了
#includestdio.h
int Retrieve(int array[],int length,int x);/*形参x直接传值就可以了*/
int main()
{
int *a,x;
int length,i;
scanf("%d",length);
a = (int)malloc(sizeof(int)*length); /*申请一个内存空间用来存放数据,或者直接用一个大数组也可以*/
关于c语言检索函数和c语言检索文目录下文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读