题解 | #句子逆序#
句子逆序
https://www.nowcoder.com/practice/48b3cb4e3c694d9da5526e6255bb73c3
#include <stdio.h> #include <string.h> int main() { char str[1000]; gets(str); int len=strlen(str); int count=0; /* 思路:从最后哟个字母开始数,数到有空格的时候,在正过来把字母输出 i倒叙,j正序 */ for(int i=len-1;i>=0;i--){ if(str[i]!=' '){ //非空格 统计字母数量 count++; }else{ //空格 输出空格后的字符 for(int j=1;j<=count;j++){ printf("%c",str[i+j]); } count=0; //清空计数器 if(i!=0){ //加空格 printf(" "); } } } //第一个单词前面没空格 单独处理 for(int i=0;str[i]!=' ';i++){ printf("%c",str[i]); } return 0; }