| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 550 人关注过本帖
标题:编写函数
只看楼主 加入收藏
zhao72349947
Rank: 1
来 自:成都东软学院
等 级:新手上路
帖 子:60
专家分:5
注 册:2012-10-20
结帖率:83.33%
收藏
已结贴  问题点数:15 回复次数:4 
编写函数
Description
编写一个函数string_in(),它接受两个字符串指针参数。如果第二个字符串被包含在第一个字符串中,函数返回被包含的字符串开始的地址。例如,string_in(“hats”,”at”)返回hats中a的地址,否则函数返回空指针。在一个使用循环语句为这个函数提供输入的完整程序中进行测试。

Input
输入多组测试数据,每组测试数据包含两行字符串。

字符串长度在500以内。

Output
每组测试数据中,第一行字符串是否包含第二组字符串。如果包含,输出YES!,否则输出NO!。每组测试数据输出后必须换行。

Sample Input
hats
at
hello world
hehe
Sample Output
YES!
NO!
搜索更多相关主题的帖子: 字符串 测试 
2012-12-17 23:03
zhao72349947
Rank: 1
来 自:成都东软学院
等 级:新手上路
帖 子:60
专家分:5
注 册:2012-10-20
收藏
得分:0 
求大神啊
2012-12-18 00:53
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:15 
#include<stdio.h>
#include<string.h>
char *str_str(char *str1,char *str2)
{
        char *p1,*p2;
        int count=0;
        int n=strlen(str1);
        int m=strlen(str2);
        while(*str1!='\0')
        {
                p1=str1;
                p2=str2;
                do
                {
                        if(*p2=='\0')
                        return str1;
                }while(*p1++==*p2++);
                str1+=1;
                count++;
                if((n-count)<m)
                return NULL;
        }
        return NULL;
}
int main()
{
    char str[5][100],p[5][100];
    int flag[5];
    int i,n;
    printf("几组数据:");
    scanf("%d%*c",&n);
    puts("Input:");
    for(i=0;i<n;i++)
    {
        gets(str[i]);
        gets(p[i]);
        if(str_str(str[i],p[i]))
        flag[i]=1;
        else
        flag[i]=0;
    }
    puts("Output:");
    for(i=0;i<n;i++)
    {
        if(flag[i])
            puts("YES");
        else
            puts("NO");
    }
    return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册

小小战士,战士中的战斗机!
2012-12-18 01:37
zhao72349947
Rank: 1
来 自:成都东软学院
等 级:新手上路
帖 子:60
专家分:5
注 册:2012-10-20
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<string.h>
char *str_str(char *str1,char *str2)
{
        char *p1,*p2;
        int count=0;
        int n=strlen(str1);
        int m=strlen(str2);
        while(*str1!='\0')
        {
                p1=str1;
                p2=str2;
                do
                {
                        if(*p2=='\0')
                        return str1;
                }while(*p1++==*p2++);
                str1+=1;
                count++;
                if((n-count)<m)
                return NULL;
        }
        return NULL;解释下这里嘛,不太懂
}
int main()
{
    char str[5][100],p[5][100];
    int flag[5];
    int i,n;
    printf("几组数据:");
    scanf("%d%*c",&n);
    puts("Input:");
    for(i=0;i<n;i++)
    {
        gets(str[i]);
        gets(p[i]);
        if(str_str(str[i],p[i]))
        flag[i]=1;
        else
        flag[i]=0;
    }
    puts("Output:");
    for(i=0;i<n;i++)
    {
        if(flag[i])
            puts("YES");
        else
            puts("NO");
    }
    return 0;
}
2012-12-18 08:07
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
return NULL;解释下这里嘛,不太懂
这是返回空的,用来判断str1是否为空

小小战士,战士中的战斗机!
2012-12-21 20:09
快速回复:编写函数
数据加载中...
 
   



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

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