学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
 17 12
发新话题
打印

如何对单词进行倒序输出

如何对单词进行倒序输出

例:I love you
输出为you love I

TOP

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

TOP

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

C/C++讨论群:46520219 3996098 21035626 57909089
免费的C/C++算法学习论坛:http://yzfy.org

TOP

数组得了呗

TOP

#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;
}
学习需要安静。。海盗要重新来过。。

TOP

现在都时兴要了作业就离开的?
本帖最近评分记录
学习需要安静。。海盗要重新来过。。

TOP

灌到中级会员

好像是的
一上一上又一上   一上上到高山上
举头红日白云低   四海五湖皆一望

TOP

在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();
   }

TOP

不知道燕子说的方法是什么啊 ``大姐```发个出来撒```
女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
www.yzfy.org    yzfy.5d6d.com

TOP

燕子飞了..不管用什么方法..基本都是在模拟压栈和出栈...至少现在是这样..呵呵
学习需要安静。。海盗要重新来过。。

TOP

 17 12
发新话题