C语言字符串中单词的逆序输出

发布时间:2024-08-30 14:11:35 作者:小樊
来源:亿速云 阅读:103

在C语言中,要实现字符串中单词的逆序输出,可以先将整个字符串翻转,然后再翻转每个单词

#include<stdio.h>
#include<string.h>

void reverse(char *start, char *end) {
    while (start < end) {
        char temp = *start;
        *start++ = *end;
        *end-- = temp;
    }
}

void reverseWords(char *str) {
    int len = strlen(str);
    char *start = str;
    char *end = str + len - 1;
    
    // 翻转整个字符串
    reverse(start, end);

    // 翻转每个单词
    start = str;
    while (start < end) {
        char *word_end = start;
        while (word_end < end && *word_end != ' ') {
            word_end++;
        }
        reverse(start, word_end - 1);
        start = word_end + 1;
    }
}

int main() {
    char str[] = "Hello world! I am a C programmer.";
    printf("Original string: %s\n", str);
    reverseWords(str);
    printf("Reversed words: %s\n", str);
    return 0;
}

这个程序首先定义了一个reverse函数,用于翻转给定范围内的字符。然后,reverseWords函数首先翻转整个字符串,接着翻转每个单词。最后,main函数中调用reverseWords函数来实现字符串中单词的逆序输出。

推荐阅读:
  1. 怎么用C语言实现三角函数曲线
  2. C/C++实现三路快速排序算法的原理是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c语言

上一篇:C语言字符串中的字符替换逻辑

下一篇:C语言字符串中的字符频率统计

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》