黑马程序员技术交流社区

标题: 一道纯原创题 [打印本页]

作者: 黑马-唐磊    时间: 2014-5-21 21:57
标题: 一道纯原创题
本帖最后由 黑马-唐磊 于 2014-5-21 22:04 编辑

已知有字符char a[]="temp1,temp2 a,temp3,temp4 b";
中间是逗号隔开。
截取出含有temp的字符。输出结果为这样
temp1
temp2
temp3
temp4
特别注意temp2后面有个空格和a,temp4有个空格和b这里的空格a和空格b不是一起的所以不要截取出来。
作者: 奇迹    时间: 2014-5-21 23:09
太简单不想回答
作者: 黑马-唐磊    时间: 2014-5-22 12:21
本帖最后由 黑马-唐磊 于 2014-5-22 13:13 编辑
奇迹 发表于 2014-5-21 23:09
太简单不想回答

稍等,我在这道题基础上给你加些逻辑给你,希望你能回答

作者: Sniper_YJ    时间: 2014-5-22 13:07
说下你的题呗
作者: 黑马-唐磊    时间: 2014-5-22 13:38
Sniper_YJ 发表于 2014-5-22 13:07
说下你的题呗

这个就是题目 http://bbs.itheima.com/thread-118965-1-1.html
作者: 黑马-唐磊    时间: 2014-5-22 13:44
黑马-唐磊 发表于 2014-5-22 12:21
稍等,我在这道题基础上给你加些逻辑给你,希望你能回答

看看这题你觉得简不简单http://bbs.itheima.com/thread-118965-1-1.html
作者: 夏沫的黄昏′    时间: 2014-5-27 17:05
遍历一遍 分割 判断 输出- -
作者: 永远不会贬值    时间: 2014-5-27 21:28
#include <stdio.h>
#include <string.h>
void geiprintf();

int main()
{
    char a[]="temp1,temp2 a,temp3,temp4 b";
   
    unsigned long  n1 = strlen(a);
   
    geiprintf(a,n1);
   
    return 0;
}

void geiprintf(char *cs,unsigned long n2)
{
    for(int i = 0; i < n2; i++)
    {
        if(cs[i]!=' '&&cs[i]!='a'&&cs[i]!='b')
        {
            if(cs[i]==',')
                cs[i]= '\n';
            printf("%c",cs[i]);
        }
    }
}
作者: 黑马-唐磊    时间: 2014-5-29 21:37
永远不会贬值 发表于 2014-5-27 21:28
#include
#include
void geiprintf();

这个是不符要求的,里面的字符temp1,temp2 a,temp3,temp4 b为任意值,可以看为变量,不管他怎么变化都满足条件:在逗号间隔的字符,如果是一个字符就截取那个,如果是两个就截取前一个字符,所以不能将a,b作为判断条件,希望你再接再厉
作者: 永远不会贬值    时间: 2014-5-29 21:42
黑马-唐磊 发表于 2014-5-29 21:37
这个是不符要求的,里面的字符temp1,temp2 a,temp3,temp4 b为任意值,可以看为变量,不管他怎么变化都满 ...

已知有字符char a[]="temp1,temp2 a,temp3,temp4 b";
中间是逗号隔开。
截取出含有temp的字符。输出结果为这样
temp1
temp2
temp3
temp4

是我看错题目了么
作者: 黑马-唐磊    时间: 2014-5-29 21:49
永远不会贬值 发表于 2014-5-29 21:42
已知有字符char a[]="temp1,temp2 a,temp3,temp4 b";
中间是逗号隔开。
截取出含有temp的字符。输出结果 ...

主要当时没有表述清楚,所以很抱歉,你可以申请让班主给你一分技术分,一般情况会给的,至少你是很有诚意的,有的只说简单,代码都不贴
作者: mingjixiaohui    时间: 2014-5-31 15:06
本帖最后由 mingjixiaohui 于 2014-5-31 15:09 编辑

int main(){
char delims[]="a,b";
char a[]="temp1,temp2 a,temp3,temp4 b";


char *result = NULL;
   result = strtok( a, delims );
   while( result != NULL ) {
       printf( "result is \"%s\"\n", result );
       result = strtok( NULL, delims );
return 0;
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2