P0007

前置:无

最低所需知识点:基础语法

本题有很多做法 先说简单的

1:暴力拆解法

如果你看过P0006的题解 你就可以用上啦~

我们可以用%(取余)符号配合/(向下取整除)符号相配合来获取三位数的每一位!

这里默认定义且读入了n

int a=n/100;
int b=n/10%10;
int c=n%10;

以上三个变量按顺序分别代表了n这个三位数的每一位

相信a和c都没什么疑问 所以我只讲b怎么来的

首先执行n/10会得到n的前两位 再执行%10用于获取前面运算得到的数的最后一位 即三位数中的第二位

然后我们倒叙输出a b c三个变量即可

方法2:字符串+循环

我们都知道 string类型相当与一个长度自定义char数组 所以它也拥有数组的特性(不知道数组特性的去看P0004)

所以我们可以不读入int类型 换个思路 读入string类型 直接循环反向输出即可

3:字符串+函数

我们都知道 string拥有大量的函数 包括可以直接翻转字符串一定长度内容的reverse函数

下面是标准代码

reverse(s.begin(),s.end());

这样可以直接反转整个字符串

我们又知道 字符串可以直接快捷全部输出

反转后仅需

cout<<s;

就可以实现此题了!

当然reverse函数并不是只能翻转整个字符串 那样就太鸡肋了 STL可不存废物

至于怎么从一定位置开始 到一定位置结束啊

参见sort排序函数谢谢(因为string本质上也是一种数组)

4:char神力!

我们都知道 在读入char类型时 C++会强制只读入一个字符

所以我们可以读入三个字符 后反向输出

都四种方法了你还想怎么样 快去给我把难度打下来!

------------------------------------------------------------题解结束------------------------------------------------------------