PAT B1006 換個格式輸出整數

前言

傳送門

正文

在這裏插入圖片描述
思路

見代碼註釋

參考題解

#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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章