PTA 5-32說反話-加強版
阿新 • • 發佈:2019-01-25
給定一句英語,要求你編寫程式,將句中所有單詞的順序顛倒輸出。
輸入格式:
測試輸入包含一個測試用例,在一行內給出總長度不超過500 000的字串。字串由若干單詞和若干空格組成,其中單詞是由英文字母(大小寫有區分)組成的字串,單詞之間用若干個空格分開。
輸出格式:
每個測試用例的輸出佔一行,輸出倒序後的句子,並且保證單詞間只有1個空格。
輸入樣例:
Hello World Here I Come
輸出樣例:
Come I Here World Hello#include <iostream>
#include <stdlib.h>
#include <cstdio>
#include <string>
using namespace std;
int main()
{
char str1[500001];
gets(str1);
char str2[] = " ";
char *result = NULL;
char *resultCopy[250001];
int cout = 0;
result = strtok(str1, str2);//呼叫strtok(char *s,const char *c)函式,分隔字元.把s中包串c的部分提取出來,返回給s
while ( result != NULL ) {
cout ++;
resultCopy[cout - 1] = result;
printf("%s\n",result);
result = strtok(NULL, str2);
}
int flag = 0;
int i;
for ( i = cout - 1; i >= 0; i -- ) {
if ( flag != 0 ) {
printf(" ");
}
flag ++;
printf("%s", resultCopy[i]);
}
return 0;
}