| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 4006 人关注过本帖
标题:设计并测试一个函数,其功能是搜索由函数的第一个参数指定的字符串,在其中 ...
只看楼主 加入收藏
zhao72349947
Rank: 1
来 自:成都东软学院
等 级:新手上路
帖 子:60
专家分:5
注 册:2012-10-20
结帖率:83.33%
收藏
已结贴  问题点数:13 回复次数:6 
设计并测试一个函数,其功能是搜索由函数的第一个参数指定的字符串,在其中查找由函数的第二个参数指定的字符的第一次出现的位置。如果找到,返回指向这个字符的指针;如果
这个好难,不知道怎么完善它,求大神帮助
程序代码:
#include <stdio.h>
char *search(char *ps,char *pc);
int main()
{
    char s1[100],s2[100];
    int result;
    gets(s1);
    gets(s2);
    *search(s1,s2);
    if(*pc)
        printf("n");
    else printf("y");
    return 0;
  
}
char *search(char *ps,char *pc)
{
char a[100],b[100];
ps=a;pc=b;
while(*ps!='\0')
    {if(*ps==*pc)return pc;
    else return NULL;}
搜索更多相关主题的帖子: search result 字符串 
2012-12-17 15:12
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:3 
程序代码:
/************************************************************************/
/* 搜索由函数的第一个参数指定的字符串,在其中查找由函数的第二个参数指定 */
/* 的字符的第一次出现的位置。如果找到,返回指向这个字符的指针           */
/************************************************************************/
#include <stdio.h>
#include <string.h>
char *search(char *ps,char *pc)
{
    int ps_len = strlen(ps);
    int pc_len = strlen(pc);
    int i, j;
    for (i = 0;i <= ps_len - pc_len;i++)
    {
        for (j = 0;j < pc_len;j++)
            if (ps[i + j] != pc[j])
                break;
        if (j == pc_len)
            return ps + i;
    }
    return NULL;
}
int main()
{
    char *str1 = "asdfghjkl";
    char *str2 = "ghjkl";
    char *p = search(str1, str2);
    puts(p);
    return 0;
}


[fly]存在即是合理[/fly]
2012-12-17 15:25
zhao72349947
Rank: 1
来 自:成都东软学院
等 级:新手上路
帖 子:60
专家分:5
注 册:2012-10-20
收藏
得分:0 
回复 2楼 azzbcc
Input
有多组测试数据,每组测试数据由两行组成,第一行是字符串,第二行是搜索的字符。

字符串长度在500以内。

Output
如果找到了输出“Found!”,如果没找到输出“Not found!”。
2012-12-17 15:26
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
收藏
得分:3 
看看这个 strstr函数的源码
char * strstr(const char *str1, const char *str2)
{
 int n;
 if (*str2)
 {
  while(*str1)
  {
   for(n = 0; *(str1+n) == *(str2+n); n++ )
   {
    if (!*(str2+n+1))
    {
     return (char *)str1;
    }
   }
   str1++;
  }
  return NULL;
 }
 return NULL;
}
2012-12-17 15:30
chief
Rank: 2
等 级:论坛游民
帖 子:10
专家分:18
注 册:2012-12-15
收藏
得分:3 
为了实现什么呢?
2012-12-17 15:36
zhao72349947
Rank: 1
来 自:成都东软学院
等 级:新手上路
帖 子:60
专家分:5
注 册:2012-10-20
收藏
得分:0 
回复 5楼 chief
Description
设计并测试一个函数,其功能是搜索由函数的第一个参数指定的字符串,在其中查找由函数的第二个参数指定的字符的第一次出现的位置。如果找到,返回指向这个字符的指针;如果没找到,返回空指针。在主函数中测试该函数。

函数原型:char *search(char *ps,char *pc);

Input
有多组测试数据,每组测试数据由两行组成,第一行是字符串,第二行是搜索的字符。

字符串长度在500以内。

Output
如果找到了输出“Found!”,如果没找到输出“Not found!”。

Sample Input
12334513451245145
9
31253135125312531433
3
Sample Output
Not found!
Found!
HINT
注意:有多组测试数据,输出后换行。
2012-12-17 17:28
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
收藏
得分:3 
回复 6楼 zhao72349947
如4楼所说,用strstr实现很方便。这个是在<string.h>里面的一个处理字符串的函数,直接用就行。
2012-12-17 21:11
快速回复:设计并测试一个函数,其功能是搜索由函数的第一个参数指定的字符串,在 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.081794 second(s), 7 queries.
Copyright©2004-2021, BCCN.NET, All Rights Reserved