0
点赞
收藏
分享

微信扫一扫

pta-7-8 单词倒置 (15 分)

mafa1993 2022-03-19 阅读 45
c语言

7-8 单词倒置 (15 分)

小明终于等来了好朋友的来信,但打开来信就傻眼了,居然看不懂,原来好朋友把信中的每个单词都翻转了顺序,例如“Happy”在朋友的信里变成了“yppaH”。请你编写程序帮助小明还原来信内容吧。

输入格式:

输入一个字符串,以回车结束。该字符串长度不超过100,包含多个单词,单词之间有一个或多个空格。

输出格式:

输出一行,即单词翻转后的字符串,注意每对单词之间的空格数量保持不变。

输入样例:

yppaH   wen raey

输出样例:

在这里给出相应的输出。例如:

Happy   new year

代码 

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>

int main()
{
 char s[105];
 int a[505]={0};
 int i=0,b=0,c=0,t=0;
 gets(s);
 while(s[i]!='\0')
    {
        if(s[i]==' '&&i==0)//单独计算开头为空格的情况
            c=1;
        if(s[i]!=' '&&c==0)
        {
            a[b++]=i;//储存每次变化时的位置
            c=1;//做标记记录位置
        }
        if(s[i]==' '&&c==1)
        {
            a[b++]=i;
            c=0;
        }
        i++;//逐个判断字符
    }
    a[b]=i;//算上结尾的字符,避免遗漏
   while(s[a[t]]!='\0')//判断停止位置
   {
    for(i=a[t+1]-1;i>=a[t];i--)
    {//将标记范围内的字符输出
        putchar(s[i]);//输出此处的字符
    }
       t++;//数组记录下一个的位置
   }
  return 0;
}
举报

相关推荐

0 条评论