给定一句英语,要求你编写程序,将句中全部单词的顺序颠倒输出。ios
测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。算法
每一个测试用例的输出占一行,输出倒序后的句子。测试
Hello World Here I Come
Come I Here World Hello
这一题其实很是简单,我以前在c语言的题库里面就作过一遍。可是我字符串实在学得太烂了,致使我只好从新给代码加了一遍注释。(你好烂哦)spa
#include <cstdio> #include <cstring> #include <iostream> using namespace std; int main(){ char str[81]; cin.getline(str,81);//没有用getchar(),不然有些编译器有奇奇怪怪的问题 int i=0,k=1,let[81]; let[0]=-1; while(str[i]!='\0'){ if(str[i]==' '){ let[k++]=i;//记录空格的位置 } i++; } let[k]=strlen(str);//记录字符串的长度 for(int i=k;i>0;i--){ for(int j=let[i-1]+1;j<let[i];j++){ printf("%c",str[j]);//倒序输出字符串 } if(i!=1)printf(" "); } return 0; }