当前位置: 代码迷 >> 综合 >> 1144:单词翻转(C C++)
  详细解决方案

1144:单词翻转(C C++)

热度:92   发布时间:2024-02-28 21:57:29.0

【题目描述】

输入一个句子(一行),将句子中的每一个单词翻转后输出。

【输入】

只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。

【输出】

翻转每一个单词后的字符串,单词之间的空格需与原文一致。

【输入样例】

hello world

【输出样例】

olleh dlrow

【代码】

#include <iostream>
#include <cstring>
#include <cstdio> 
using namespace std;
int main()
{
    char a[505];	gets(a);int len=strlen(a);a[len]=' ';//最后加个空格判断 int k=0;//计数器k for(int i=0;i<=len;i++){
    if(a[i]!=' ') //不是空格则++ k++;else 		//是空隔 {
    int x=i;	//记录当前i值 i for(int j=0;j<k;j++)	//k为单词长度 cout<<a[--x];		//x前一个为单词最后一位 反向输出k位 k=0;		//计数器k清零 if(i!=len)	//当前位i不为最后一位时 最后一个空格为自己添加的 cout<<" ";	//输出空格 }}
}