题解 | 句子逆序

#include <stdio.h>
#include <string.h>
void swap(char *a,char*b){
    char temp;
    temp = *a;
    *a = *b;
    *b = temp;
}
void reverse(char *s,int start,int end){
    int i,j;
    i = start;j = end;
    while(i < j){
        swap(&s[i],&s[j]);
        i++;j--;
    }
}
void print_str(char *s){
    int i,j;
    int tag = 0;
    for(i = 0;s[i] != '\n';i++){
        if(s[i] == ' '){
            reverse(s,tag,i-1);
            s[i] = '\0';
            printf("%s ",s+tag);
            tag = i + 1;
        }
    }
}
int main() {
    char ch[1200];
    fgets(ch,sizeof(ch),stdin);
    int len = strlen(ch);
    reverse(ch,0,len - 2);
    ch[len - 1] = ' ';
    ch[len ] = '\n';
    print_str(ch);
    //printf("%d\n",len);
    //printf("%d",ch[5]);
    return 0;
}

全部评论

相关推荐

07-15 14:14
门头沟学院 Java
7.10投递7.15感谢信
投递地平线等公司7个岗位
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务