2023-07-19 HJ13 句子逆序

描述

将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”

所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符

数据范围:输入的字符串长度满足 1≤n≤1000

注意本题有多组输入

输入描述:

输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。

输出描述:

得到逆序的句子

示例1

输入:

I am a boy


输出:

boy a am I


#import

intmain(intargc,constchar* argv[]) {

    @autoreleasepool {

        charstr[1000];

        scanf("%[^\n]", str);

        NSString*strC = [NSStringstringWithFormat:@"%s", str];

        NSArray*array = [strCcomponentsSeparatedByString:@" "];

        for(inti = (int)array.count-1; i >=0; i--) {

            NSString*s = [arrayobjectAtIndex:i];

            printf("%s",s.UTF8String);

        }

    }

    return0;

}


scanf(“%[^\n]“, str);是什么意思?

^表示“非”,[^\n]表示读入换行符就结束读入。这是scanf的正则用法,一般情况下scanf是不能接收空格符,已接收到空格就结束读入,所以不能像gets()等函数一样接受一行字符串,所以用[^\n]就可以读取一行,直到碰到‘\n’才结束读入。

读取一个字符集,以\n作为结束标志

scanf("%[^\n]",str);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容