| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
学习型 ASP/PHP/ASP.NET 主机 35元/年全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
赛孚耐:软件保护加密专家身份认证令牌USB KEY虚拟主机 域名注册 主机托管 
共有 1186 人关注过本帖
标题:如何对单词进行倒序输出
收藏  推荐  打印 
天之蓝
Rank: 1
等级:新手上路
帖子:24
积分:330
注册:2008-3-19
结帖率:0/0
  问题点数:0  回复次数:16   
如何对单词进行倒序输出

例:I love you
输出为you love I
搜索更多相关主题的帖子: 单词  倒序  输出  
2008-5-12 16:40
cobby
Rank: 4
等级:高级会员
威望:1
帖子:565
积分:5796
注册:2007-7-11
  得分:0 

方法很多,其中一种是建立字符串链表。读完一个单词建立一个结点,全部读完后将链表倒置,再输入内容就行了

努力成为菜鸟!
2008-5-12 17:09
雨中飛燕
Rank: 4
等级:高级会员
帖子:765
积分:7750
注册:2007-10-13
  得分:0 

不需要,有一种很简单的方法,只需要原来的空间,不需要多少额外的空间

[color=white]

C/C++讨论群:46520219 3996098 21035626 57909089
免费的C/C++算法学习论坛:http://yzfy.org
2008-5-12 19:55
lzjd
Rank: 1
等级:新手上路
帖子:29
积分:366
注册:2008-4-2
  得分:0 

数组得了呗
2008-5-12 20:18
sunkaidong
Rank: 12Rank: 12Rank: 12
来自:南京师范大学
等级:版主
威望:12
帖子:4423
积分:44956
注册:2006-12-28
  得分:0 

#include<stdio.h>
#include<string.h>
typedef struct Stack
{
    int top;
    char c[100000];
}Stack;
void init(Stack &s)
{
   s.top=0;
}
void push(Stack &s,char c)
{  
    s.c[s.top++]=c;
}
int pop(Stack &s,char *p)
{   int i=0;
    while(s.top>0&&(*p++=s.c[--s.top])!=' ')
    {
        i++;
    }
    return i-1;
}
void rev(Stack &s)
{   char c[100];
    while(s.top>0)
    {
        int i=pop(s,c);
        for(;i>=0;i--)
        {
            printf("%c",c[i]);
        }
        printf(" ");
    }
    printf("\n");
}
int main()
{
Stack s;
init(s);
char c[1000];
gets(c);
for(int i=0;i<strlen(c);i++)
     push(s,c[i]);
rev(s);
return 0;
}

学习需要安静。。海盗要重新来过。。
2008-5-12 20:52
sunkaidong
Rank: 12Rank: 12Rank: 12
来自:南京师范大学
等级:版主
威望:12
帖子:4423
积分:44956
注册:2006-12-28
  得分:0 

现在都时兴要了作业就离开的?
本帖最近评分记录

学习需要安静。。海盗要重新来过。。
2008-5-12 21:30
liyanhong
Rank: 2
来自:水星
等级:ID已被封
威望:8
帖子:1870
积分:2724
注册:2008-5-3
  得分:0 
灌到中级会员

好像是的

爱上你 是 我的错  可是离 开  又舍不得  听着你为我写的歌     好难过
如果说 我说如果  我们还 能  重新来过   不去计 较 谁对谁错  会怎么做
2008-5-12 21:32
jiang5495
Rank: 3Rank: 3
等级:中级会员
威望:2
帖子:295
积分:2009
注册:2008-5-11
  得分:0 
在win-tc下编程通过!

# include<string.h>
void main()
{
char a[100],b[100];
int i,j,k,p=0,r=0,n;
printf("Please enter a line of string!\n");
gets(a);
n=strlen(a);
for(i=n-1;i>=0;i=i-(p-j+1))
{
  p=i;
  for(j=p;j>=1;j--)
  {
   if(a[j]==' '&&a[j-1]!=' ')
   break;
   }
   if(j>=1)
   k=j+1;
   else
   k=j;
   for(;k<=p;k++)
   {
   b[r]=a[k];
   r++;
   }
   b[r]=' ';
   r++;
   }
   puts(b);

   getch();
   }
2008-5-12 22:09
死了都要C
Rank: 12Rank: 12Rank: 12
来自:四川成都
等级:贵宾
威望:13
帖子:1507
积分:15240
注册:2006-12-7
  得分:0 

不知道燕子说的方法是什么啊 ``大姐```发个出来撒```

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
http://yzfy.org
2008-5-12 22:14
sunkaidong
Rank: 12Rank: 12Rank: 12
来自:南京师范大学
等级:版主
威望:12
帖子:4423
积分:44956
注册:2006-12-28
  得分:0 

燕子飞了..不管用什么方法..基本都是在模拟压栈和出栈...至少现在是这样..呵呵

学习需要安静。。海盗要重新来过。。
2008-5-12 22:17
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.089247 second(s), 10 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved