腾讯云服务器可以做网站,上海公司牌照最新价格,个人做网站郊游的英,长白山网站学做管理平台一、题目
让我们用字母 B 来表示“百”、字母 S 表示“十”#xff0c;用 12...n 来表示不为零的个位数字 n#xff08;10#xff09;#xff0c;换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234#xff0c;因为它有 2 个“百”、3 个“十…一、题目
让我们用字母 B 来表示“百”、字母 S 表示“十”用 12...n 来表示不为零的个位数字 n10换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式每个测试输入包含 1 个测试用例给出正整数 n1000。输出格式每个测试用例的输出占一行用规定的格式输出 n。输入样例 1234输出样例 1BBSSS1234输入样例 223输出样例 2SS123二、代码与分析
不同的函数
本题中我采用了string字符串string字符串的好处在于直接加某个字符str‘B’; 不用使用下标来访问修改。 但是其缺点也就是不能通过下标来改变字符串。
分析
本题我原来打算用char数组来存储转变之后的字符串发现太麻烦因为你不仅要考虑添加几个字符B或者S还要通过考虑它添加的位置这就不只需要一个i了所以干脆使用string。(使用何种需要根据题目来定)这里由于知道位数 所以我们直接定义了百、十、个变量更方便更容易访问关于此题目中的零由于题目要求不为零的个位数 所以零不要去考虑
#include iostream
#include string.h
using namespace std;int main() {int inNum;int tens 0, hundred 0, singel 0;string transferNum ;cininNum;if(inNum 1000 || inNum 0) {return 0;}int i, a;hundred inNum / 100;tens inNum / 10 % 10;singel inNum % 10;for(i0; ihundred; i) {transferNum B;}for(i0; itens; i) {transferNum S;}
// if(singel 0) {
// transferNum 0 0;
/// }else{for(i1; isingel; i) {transferNum i 0;}
// }couttransferNum;return 0;
}