2023-07-19 HJ13 句子逆序

2023-07-18  本文已影响0人  5b01f47e6752

描述

将一个英文语句以单词为单位逆序排放。例如“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);

上一篇 下一篇

猜你喜欢

热点阅读