• 算法笔记刷题8(PAT1009)


    算法笔记刷题8(PAT1009)

    题目

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

    输入格式:

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

    输出格式:

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

    输入样例:

    Hello World Here I Come
    

    输出样例:

    Come I Here World Hello
    

    这一题其实非常简单,我之前在c语言的题库里面就做过一遍。但是我字符串实在学得太烂了,导致我只好重新给代码加了一遍注释。(你好烂哦)

    #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]!=''){
        	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;
    }
    
    
  • 相关阅读:
    RocketMQ 负载均衡
    RocketMQ 介绍及核心概念
    PagView动画
    andriod 视频播放方案
    Andriod 插件化初识
    Android 加载库的方式
    AIDL服务死亡代理
    Android O 创建后台Service
    IntentService
    Activity Dialog 进出动画
  • 原文地址:https://www.cnblogs.com/yiyefuyou/p/12879224.html
Copyright © 2020-2023  润新知