| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4319 人关注过本帖
标题:一道单词逆序的问题...
只看楼主 加入收藏
viglqxy
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-11-12
结帖率:50%
收藏
 问题点数:0 回复次数:11 
一道单词逆序的问题...
给定一个字符串,按单词将该字符串逆序,比如给定"This is a sentence",则输出是"sentence a is This",为了简化问题,字符串中不包含标点符号。
 

分两步
 
1 先按单词逆序得到"sihT si a ecnetnes"
 
2 再整个句子逆序得到"sentence a is This"


这个题目应该怎么写啊!~求助(最好是简单点的C语言,要求没有指针的那种)

[ 本帖最后由 viglqxy 于 2013-6-4 16:39 编辑 ]
搜索更多相关主题的帖子: 字符串 标点符号 最好 单词 C语言 
2013-06-04 16:32
lijilvly
Rank: 2
等 级:论坛游民
帖 子:17
专家分:30
注 册:2013-6-3
收藏
得分:0 
2013-06-06 14:22
lwb603569640
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:283
专家分:436
注 册:2012-11-9
收藏
得分:0 
程序代码:
#include <stdio.h>
void revers()
{
    char c;
    if((c = getchar()) != '\n')
        revers();
    if(c != '\n')
        putchar(c);
}
void main()
{
    revers();
    printf("\n");
}

自由、民主、宪政!
2013-06-06 14:46
lijilvly
Rank: 2
等 级:论坛游民
帖 子:17
专家分:30
注 册:2013-6-3
收藏
得分:0 
http://   
2013-06-06 15:42
lijilvly
Rank: 2
等 级:论坛游民
帖 子:17
专家分:30
注 册:2013-6-3
收藏
得分:0 
回复 3楼 lwb603569640
恩,不错,结果能翻转,不过不是题目要求!
2013-06-06 15:44
小白新手求教
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-6-6
收藏
得分:0 
新手求师傅!
2013-06-06 15:51
清酒如水
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-6-6
收藏
得分:0 
#include "stdio.h"
int main()
{
  char c,str[90];
     int i,j;
   printf("input string :");
   gets)str);
   for(I=0,j=strlen(str)-1;i<=j;i++;j--)
   {
    c=str[i];
    str[I]=str[j];
   str[j]=c;
  }
  printf("After invert:%s",str);
  return 0;
}

菜鸟一个  多多指教啊
2013-06-06 17:37
lijilvly
Rank: 2
等 级:论坛游民
帖 子:17
专家分:30
注 册:2013-6-3
收藏
得分:0 
回复 7楼 清酒如水
这运行过了吗?
2013-06-06 17:55
lwb603569640
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:283
专家分:436
注 册:2012-11-9
收藏
得分:0 
回复 5楼 lijilvly
之前题目看错

程序代码:
#include<stdio.h>

void reverse(char * str, int left, int right)
{
    char tmp;
    while(left<right)
    {
        tmp=str[left];
        str[left]=str[right];
        str[right]=tmp;
        ++left; --right;
    }
}
int main()
{
    char str[]="i love the girl";
    int i=0, last_pos=0;
    int is_in_word=0;

    puts(str);
    while(str[i]!='\0')
    {
        if(str[i]==' ')
        {
            if(is_in_word) 
            {
                is_in_word=0;
                reverse(str, last_pos, i-1);
            }
        }
        else
        {
            if(!is_in_word) 
            {
                is_in_word=1;
                last_pos=i;
            }
        }
        ++i;
    }
    if(is_in_word) 
    {
        is_in_word=0;
        reverse(str, last_pos, i-1);
    }

    reverse(str, 0, i-1);

    puts(str);

    return 0;
}

自由、民主、宪政!
2013-06-06 18:45
秦时的明月夜
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:13
帖 子:126
专家分:504
注 册:2013-3-12
收藏
得分:0 
#include<stdio.h>
#include<string.h>
main()
{
    char a[100];
    int n;
    printf("enter a String\n");
    gets(a);
    n=strlen(a);
    printf("===============\n");
    for(int i=0;i<n;i++)
       printf("%c",a[i]);
    printf("\n");
    printf(" 逆序\n");
    for(int j=n;j>=0;j--)
      printf("%c",a[j]);
}
2013-06-06 19:48
快速回复:一道单词逆序的问题...
数据加载中...
 
   



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

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