本文共 899 字,大约阅读时间需要 2 分钟。
输入一行字符串,把字符串翻转 。
Input: I____am__a__student Output: student__a__am____I#include#include #include void reverse(char *str, int beg, int end){ for (int i = beg , j = end; i < j; ++i, --j) { char tmp = str[i]; str[i] = str[j]; str[j] = tmp; }}int main(){ char str[100]; while (memset(str, 0, sizeof(str)), fgets(str, sizeof(str), stdin) != NULL) { str[strlen(str) - 1] = '\0'; //fgets去掉换行 reverse(str, 0, strlen(str) - 1); int wordBeg = 0; int wordEnd; while (1) { while (str[wordBeg] == ' ') { ++wordBeg; } if (wordBeg >= strlen(str)) { break; } wordEnd = wordBeg; while (str[wordEnd + 1] != ' ' && str[wordEnd + 1] != '\0') { ++wordEnd; } reverse(str, wordBeg, wordEnd); if (str[wordEnd + 1] == '\0') { break; } else { wordBeg = wordEnd + 1; } } puts(str); }}
转载地址:http://cxxmb.baihongyu.com/