| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1119 人关注过本帖
标题:哪位兄台,哪位高手能抽出几分钟时间,帮我解决个小程序
只看楼主 加入收藏
鹤舞白沙
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-4-10
收藏
 问题点数:0 回复次数:10 
哪位兄台,哪位高手能抽出几分钟时间,帮我解决个小程序
请教高手两个个小程序,先谢谢了 :)
1.将一个句子中的各个单词倒置,形成一个新的字符串,如:
"I am a student"转换成"student a am I"

2.记录字符串1中所有出现字符串2的位置,如
"simple word a word two word"中"word"的出现的各个位置为
8 15 24

哪位能给我此两个小程序的源码,帮我用c的字符指针实现,着急使用,有个解决的思路也可以,非常感谢!!!
方便可以给我在此回复,或者发到我的邮箱里,
watercrystal@
搜索更多相关主题的帖子: 邮箱 word 字符 
2005-04-10 09:10
ajey2004
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2004-12-30
收藏
得分:0 

偶也是菜鸟,下面这个有点小错误,我不知道怎么回事 不过还能用,呵呵 char *a,*b; int size,i,j,k;

gets(a); for (size=0;a[size]!='\0';size++) ; for (i=0,j=size-1;i<size;i++,j--) b[j]=a[i]; b[size]='\0'; for (k=0;k<=size;k++) printf("%c",b[k]);


2005-04-10 11:09
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
刚刚扫墓回来,差点没被累死~~
第一题太容易了,用栈压来弹去的就搞掂了,自己想想吧

下面就随便贴贴第二题的,以前写练习的时候写过,保留在U盘上的,不知道用在这里还能不能用,就随便先贴住先

/*
2.记录字符串1中所有出现字符串2的位置,如
"simple word a word two word"中"word"的出现的各个位置为
8 15 24
*/

#include &lt;stdio.h&gt;
int main()
{
char sentence[255];/*句子,字符串1*/
char words[255];/*单词,字符串2*/
char *sp = sentence;/*操作指针*/
int sign=1,i,j;

    /*输入句子和要查找的单词*/
    printf("enter the sentence:");
    fgets(sentence,255,stdin);
    printf("enter the words:");
    fgets(words,255,stdin);
   
    /*因为fgets()把回车符号也作为输入符输入,所以必需在每个句子结尾的\n去掉*/
    sentence[strlen(sentence)-1]='\0';
    words[strlen(words)-1]='\0';

    /*开始判断*/
    for(i=0;i&lt;strlen(sentence);sp++,i++)
    {
        for(j=0;j&lt;strlen(words);j++)
            if( *(sp+j) != *(words+j) )
            {
                sign=0;
                break;
            }
        if(!(sign=!sign))
            printf("%d ",i+1);
    }
    printf("\n");
}

淘宝杜琨
2005-04-10 15:41
wanwan520
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-4-17
收藏
得分:0 

main()
{
    char str[10][10]={"I","am","a","studen"};
    int i;
    for(i=3;i&gt;=0;i--)
    printf("%s ",str[i]);
    getch();
}

OK
 
2005-04-19 12:23
牛虻
Rank: 1
等 级:新手上路
威 望:1
帖 子:472
专家分:0
注 册:2004-10-1
收藏
得分:0 
好像是栈和队结合使用啊.

[此贴子已经被作者于2005-4-19 15:57:30编辑过]



土冒
2005-04-19 12:51
thanks
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-4-15
收藏
得分:0 

2005-04-20 12:59
激情依旧
Rank: 1
等 级:新手上路
威 望:2
帖 子:524
专家分:0
注 册:2005-4-4
收藏
得分:0 
你们说的都是废话。人家[热情依然]早在nn前已经做了出来。不信的可以去后面找他发的 字符串操作

例如输入 I am a studen 程序输出 student a am I #include<stdio.h> #include<string.h>

void main(){ int i,j=0,z,d,q,k; char b[100],a[]="I am a student"; z=strlen(a)-1; q=z; i=z; while(i>=0){ if(a[i]==' '||i==0) { if(i>0) {d=i+1; for(;d<=q;d++) b[j++]=a[d]; b[j++]=' '; q=i-1; } else{ k=i; for(;k<=q;k++) b[j++]=a[k]; } } i--; } b[z+1]='\0'; printf("%s\n",b); }

一句话。上机运行去。就知道什么叫 热情依然


生是编程人!!!!死是编程鬼!!!!颠峰人生!!!焚尽编程!!! 爱已严重死机!情必须重新启动!情人已和服务器断开连接!网恋也需要重新拨号!-----激情依旧
2005-04-20 13:30
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 

我比较喜欢递归 做了一个 高手指教下 #include <stdio.h> void move ( char *aa ) { char *p = aa; while ( *aa ) { aa++; if ( *aa == ' ' ) { *aa = '\0'; move ( ++aa ); break; } } printf ( " %s ",p);

} main() { char a[]="I am a student"; move(a); }


动于心而静如水
2005-04-20 16:45
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 

第二个程序也做了下 自己感觉不太好 大家看看有什么地方可以改不 #include <stdio.h> void finds (char *s,char *w,int l) { char *ww=w; while (*s) { if ( *s == *w ) { while ( *w ) { if ( *s != *w ) break; s ++; w ++; } } if ( !*w ) { w = ww; printf ( " %d ",l - strlen( s ) - strlen( w ) + 1 ); } s ++; } }

main() { char sentence [ 255 ] = "simple word a word two word" ; char words [ 255 ] = "word" ; finds ( sentence ,words ,strlen( sentence ) ); }


动于心而静如水
2005-04-20 17:20
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
以下是引用神vLinux飘飘在2005-4-10 15:41:40的发言: 刚刚扫墓回来,差点没被累死~~ 第一题太容易了,用栈压来弹去的就搞掂了,自己想想吧
那我给你加个条件,I am a student 由键盘输入,程序中只能有一个char 型变量 char c;这个高难度了吧?

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-04-20 19:28
快速回复:哪位兄台,哪位高手能抽出几分钟时间,帮我解决个小程序
数据加载中...
 
   



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

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