前言
正文
思路
見代碼註釋
參考題解
#include<iostream>
using namespace std;
/*
本題直接使用除基取餘分離出所給正整數的百位,十位和個位數字,
其百位上的數字就表示輸出幾個‘百’,十位上的數字就表示輸出
幾個'十',個位上的數字就表示從1輸出到該個位數字 。由於這裏
已經說明n爲正整數,因此也可以用while循環代替do while循環,
否則使用while循環進行除基取餘,需要注意特判0
*/
int main(){
int n,num=0,res[3];//num表示位數
cin>>n;
do{
res[num++]=n%10;
n/=10;
} while(n!=0);
for(int i=num-1;i>=0;i--){
if(i==2){//百位
for(int j=0;j<res[i];j++)cout<<'B';
}else if(i==1){//十位
for(int j=0;j<res[i];j++)cout<<'S';
}else{
for(int j=1;j<=res[i];j++)cout<<j;
}
}
cout<<endl;
return 0;
}