| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 638 人关注过本帖
标题:1步-字符串处理
只看楼主 加入收藏
啊C
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:84
专家分:177
注 册:2010-6-24
结帖率:91.67%
收藏
已结贴  问题点数:20 回复次数:7 
1步-字符串处理
1步-字符串处理:
    功能:给出一段字符串text,输入字符串A和B,要求输出text中A与B之间的字符串,
基本功能代码:
程序代码:
#include<stdio.h>
#include<string.h>
void main()
{
    char out[10]=" ",text[100]=" ",a[10]=" ",b[10]=" ";
    int a1,i,j,sb;
    char* a2;
    char* b2;
    scanf("%s",text);
    scanf("%s",a);
    scanf("%s",b);
    a2=strstr(text,a);
    b2=strstr(text,b);
    a1=strlen(a);
    for(i=0,j=0;*(a2+i+a1)!=*b2;i++,j++)
    {
        out[j]=*(a2+i+a1);
    }


    printf("%s",out);
  
}

代码测试了,成功的。
要求做成可用涵数,如: str_str(text,a,b),其中,给出一段字符串text,输入字符串A和B,要求输出text中A与B之间的字符串,自己能力有限,请高手指教!
搜索更多相关主题的帖子: 字符 
2010-11-18 22:46
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
看不出有什么问题

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-11-19 00:26
chichu
Rank: 2
来 自:安徽阜阳
等 级:论坛游民
帖 子:71
专家分:89
注 册:2010-4-14
收藏
得分:0 
没看懂LZ什么意思

有了目标才有动力!!!
2010-11-19 08:44
outsider_scu
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:430
专家分:1333
注 册:2010-10-21
收藏
得分:0 
我读了好几遍,也没读懂。。

编程的道路上何其孤独!
2010-11-19 11:22
wujieru
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:1108
专家分:1939
注 册:2010-10-9
收藏
得分:0 
搂住你把意思说清楚点
2010-11-19 11:24
wujieru
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:1108
专家分:1939
注 册:2010-10-9
收藏
得分:0 
我不知道有没有好的算法  不然的话就是麻烦 其实不难啊
2010-11-19 11:25
啊C
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:84
专家分:177
注 册:2010-6-24
收藏
得分:0 
对不起,没把意思说明白,就是把上面代码功能写个函数,比如说
:一段字符串abcdefghijk,输入abc和efg,则输出:d
这个功能上面代码以经完成了,而我不能把它写成函数,写成函数可以方便用。
这个涵数就像这样,text="abcdefgh",a="abc",b="efg";
用写的涵数str_str(text,a,b)就能输出d,
str_str这个涵 数我写不出来,请你想想办法,

亲爱的朋友们动起手来吧,让我们一起迈向C语言的世界!
2010-11-19 20:20
outsider_scu
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:430
专家分:1333
注 册:2010-10-21
收藏
得分:20 
#include<string.h>
#include<stdio.h>
char * str_str(char *text,char *a,char *b)
{
       char *s;
       s=strstr(text,b);
       *s='\0';
       return strstr(text,a)+strlen(a);
}
int main()
{
    char s[80],a[80],b[80];
    gets(s);
    gets(a);
    gets(b);
    puts(str_str(s,a,b));
   
}
用标准函数可能会慢,不过大概是这么个意思,你可以用KMP算法改进。。。

编程的道路上何其孤独!
2010-11-19 20:37
快速回复:1步-字符串处理
数据加载中...
 
   



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

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