题解 | 句子逆序

#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;
}

全部评论

相关推荐

2024-11-26 00:10
门头沟学院 Java
chenxinxu:现在招聘的都学精了,你光学点数据库和中间件做个应用型项目人家看不上,你得有点可以“吹水”的高谈阔论的“高大上”的玩意,比如写点什么“基于分布式 Raft 共识性算法的XXX”balabala 的,然后做了什么详尽的 benchmark 怎么优化的吞吐率性能之类的,看起来就是科研论文研究领域。现在人不都这样吗,他知道的知识都是白菜,他不知道的领域都是高端,找点让大部分人看起来高端的玩意写
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务