问题描述:
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
程序代码:
#include<iostream>
#include<string>
using namespace std;int main(){string arr[80]={" "};//定义一个字符串数组,用来存放句子,每个单词占据一个位置。cin>>arr[0]; //输入句子的第一个单词。/*判断句子输入是否结束,如果没有,那就继续输入单词,直到末尾换行为止*/int i=1; //i表示单词在数组中位置的下标,arr[0]已经输入,所以i=1。while(getchar()!='\n'){cin>>arr[i];i++;}/*从数组末尾开始依次往前输出,直到输出arr[1]结束,其后都紧跟空格*/for(int j=i-1;j>0;j--){cout<<arr[j]<<" ";}/*最后输出arr[0],其后没有空格*/cout<<arr[0];return 0;
}