字符串单词倒置

    xiaoxiao2021-03-25  72

    将一句话里的单词进行倒置,标点符号不倒置。比如一句话:i come from beijing.倒置后变成:beijing. from come i。

    参考代码: void reverse(char *str) { char tmp; int len = strlen(str); // 第一步:全部翻转 int begin = 0, end = len - 1; while (end > begin) { tmp = str[begin]; str[begin++] = str[end]; str[end--] = tmp; } //第二步:只翻转单词 int i = 0; while (str[i] != '\0') { if (str[i] != ' ') { begin = i; while (str[i] != '\0' && str[i] != ' ') { i++; //找到str[i]为空格 } i = i - 1; //空格符回退一个 end = i; } // 部分翻转 while (end > begin) { tmp = str[begin]; str[begin++] = str[end]; str[end--] = tmp; } i++; //指向下一个单词 } } void main() { char str[] = "I come from Beijing."; reverse(str); cout << str << endl; }
    转载请注明原文地址: https://ju.6miu.com/read-37951.html

    最新回复(0)