1009. 说反话

    xiaoxiao2021-03-25  103

    1009. 说反话 (20)

    时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue

    给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

    输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。

    输出格式:每个测试用例的输出占一行,输出倒序后的句子。

    输入样例: Hello World Here I Come 输出样例: Come I Here World Hello

    解题思路:用一个数组找出所有空格的位置,这样就把所有的单词分出来了。。。第一次空格没处理好,提交就5分,处理好空格就对了

    #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<queue> using namespace std; int main() {     char s[100];     int a[100],j=0;///a数组记录字符串的位置     gets(s);     int l=strlen(s);     a[j++]=l;     for(int i=l-1;i>=0;i--)         if(s[i]==' ') a[j++]=i;     for(int i=1;i<j;i++)     {          for(int k=a[i]+1;k<a[i-1];k++)             printf("%c",s[k]);         printf(" ");     }     /*for(int i=1;i<j;i++)     {          for(int k=a[i]+1;k<=a[i-1];k++)             printf("%c",s[k]);     }*/     for(int i=0;i<a[j-1];i++)///输出最后一个单词         printf("%c",s[i]);     printf("\n");     return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-26217.html

    最新回复(0)