zoukankan      html  css  js  c++  java
  • 编程题目:PAT 1009. 说反话 (20)

    1009. 说反话 (20)

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

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

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

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

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

            题目描述如上,解决办法并不复杂,只要按照空格进行拆分,然后倒序输出即可。以下给出两种方法,一种就是纯粹的顺次扫描来拆分,另一种利用strtok进行拆分,值得一提的是,倒序输出,可以考虑存在堆栈里面(以下代码并未如此实现),参考代码。

    /*
    http://pat.zju.edu.cn/contests/pat-b-practise/1009
    */
    #include<iostream>
    #include<string.h>
    #include<vector>
    using namespace std;
    int main()
    {
    	vector<string> v;
    	string str;
    	getline(cin,str);
    	string tmp="";
    	for(int i=0;i<str.length();i++)
    	{
    		if(str[i]=='
    ')
    			break;
    		if(str[i]!=' ')
    			tmp += str[i];
    		else
    		{
    			v.push_back(tmp);
    			tmp="";
    		}
    	}
    	v.push_back(tmp);
    	for(int i=v.size()-1;i>=0;i--)
    	{
    		if(i!=0)
    			cout<<v[i]<<" ";
    		else
    			cout<<v[i];
    	}
    	system("pause");
    	return 0;
    }

    //方法二,用strtok函数切分
    #include<iostream>
    #include<string.h>
    #include<vector>
    using namespace std;
    int main()
    {
    	char str[80];
    	const char *ch = " ";
    	char *result;
    	vector<char *> v;
    	gets(str);//注意用的是gets()可以连带空格都扫描进去
    
    	result = strtok(str,ch);
    	while(result!=NULL)
    	{
    		v.push_back(result);
    		result = strtok(NULL,ch);
    	}
    	for(int i=v.size()-1;i>=0;i--)
    	{
    		if(i!=0)
    			cout<<v[i]<<" ";
    		else
    			cout<<v[i];
    	}
    	system("pause");
    	return 0;	
    }
    


  • 相关阅读:
    王道考研复习-操作系统-进程管理(二)
    王道考研复习-操作系统-计算机系统概述(一)
    Understanding Undefined Behavior
    iOS开发需要掌握的命令
    LLDB命令速查
    Flutter简介
    poj 2115 C Looooops 扩展欧几里得算法
    poj 2635 The Embarrassed Cryptographer ??/Java??(???)
    poj 3292 Semi-prime H-numbers 筛素数(简单题)
    poj 1019 Number Sequence 数学
  • 原文地址:https://www.cnblogs.com/f8master/p/3826094.html
Copyright © 2011-2022 走看看