3431 - 颠倒的句子
时间限制 : 1 秒
内存限制 : 128 MB
读入一个字符串,按单词将该字符串逆序,比如给定"This is a sentence",则输出是"sentence a is This",为了简化问题,字符串中不包含标点符号。
题目输入
题目输出
输入/输出样例
输入格式
This is a sentence
输出格式
sentence a is This
C语言解答
#include<stdio.h> #include<string.h> int main() { char a[1000],b[1000]={NULL}; gets(a); int len=strlen(a); a[len]=' '; a[len+1]='\0'; for(int i=len-1;i>=0;i--) { if(a[i]==' ') { strcat(b,a+i+1); a[i+1]='\0'; } } strcat(b,a); puts(b); }
C++解答
#include <stdio.h> #include <stdlib.h> #include<iostream> #include <cstring> using namespace std; void ReverseWord(char* p, char* q) { while(p < q) { char t = *p ; *p++ = *q ; *q-- = t ; } } char* ReverseSentence(char* s) { char* p = s ; char* q = s ; while(*q != '\0') { if (*q == ' ') { ReverseWord(p, q - 1) ; q++ ; p = q ; } else q++ ; } ReverseWord(p, q - 1) ; ReverseWord(s, q - 1) ; return s ; } int main(){ char a[2001]; gets(a); printf("%s\n",ReverseSentence(a)); return 0; }
Python解答
# coding=utf-8 s=input() lst=s.split() for i in range(len(lst),0,-1): print(lst[i-1],end="") if i!=1: print(" ",end="")