給定一句英語,要求你編寫程序,將句中全部單詞的順序顛倒輸出。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; }