pat乙级1006 换个格式输出整数

让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。

输入格式:

每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。

输出格式:

每个测试用例的输出占一行,用规定的格式输出 n。

输入样例 1:

234

输出样例 1:

BBSSS1234

输入样例 2:

23

输出样例 2:

SS123

平平无奇的一道题目,有两个点需要注意:

1.string变量初始化时: 

#include 
#include 
using namespace std;

int main()
{
    string s1;
    string s2 = "string";
    string s3 = s2;
    string s4 (10, 's');
    return 0;
}

 直接string s4 (10, 's');不是string s4 =  (10, 's');

2.再次提醒,C语言不能连着两个比较符号。像这道题因为前面if里已经有<10了,else if里只需要<100就行

3.关于int和string的互相转化:

C++中int与string的相互转换

源代码:

#include 
#include 

using namespace std;

string ge(int g){
	string back="";	

	for(int i=1;i<(g+1);i++){
		back += to_string(i);
		
	}
    return back;
}

string shi(int s){
	string back(s,'S');
	
    return back;
}

string bai(int b){
	string back(b,'B');
	
    return back;
}

int main(){
    int in;
    string out;
    scanf("%d", &in);
    int g = in%10;
    int s = (in%100)/10;
    int b = (in-10*s-g)/100;
    
    if(in<10){
    	out = ge(g);
	}
	else if(in<100){
		out = shi(s) + ge(g);
	}
	else if(100

你可能感兴趣的:(c++,蓝桥杯,p2p,职场和发展)