题解【B2122 单词翻转】

· · 题解

这道题目是考字符串的操作。

声明一个字符串:

读入:

本题读单词最好用 scanf("%s", s_c)cin >> s_cpp

输出:

puts(s_c)(会输换行) 或 cout << s_cpp << endl

示例代码:

C++:

#include <bits/stdc++.h>
using namespace std;
int main()
{
   string s;
   while(cin >> s) // 一直读入单词直到文件末尾
   {
      reverse(s.begin(), s.end()); // STL 大法好!
      cout << s << endl;
   }
   return 0;
}

C:

这里用到了 strlen 函数,用来求字符串长度。它在 <string.h> 头文件中。

#include <stdio.h>
#include <string.h> // 用了 strlen
int main()
{
   char s[101]; // 注意数据范围!要给空字符留下位置(说不定整个句子就一个单词呢)
   while(~scanf("%s", s)) // 不加 &!
   { // 多组数据读入固定格式
      for(int i = strlen(s)-1; i >= 0; --i)
         putchar(s[i]); // 输出字符
    /* 其实不用真正翻转,倒着输出就可以了 */
      putchar('\n');
   }
   return 0;
}