PAT-乙-1023 1023 组个最小数 (20 分))

在这里插入图片描述

代码

#include <iostream>
#include <sstream>

using namespace std;

const int MAX = 10;

string intToString(int t){
	stringstream ss;
	ss<<t;
	string tmp;
	ss>>tmp;
	return tmp;
}

int main(){
	
	int digit[MAX] = {0};
	for(int i=0; i<MAX; i++){
		cin>>digit[i]; 
	}
	
	string ans;
	
	//find first number
	for(int i=1; i<MAX; i++){
		if(digit[i]>0){
			ans = ans + intToString(i);
			digit[i]--;
			break;
		}
	}
	//find other number
	for(int i=0; i<MAX; i++){
		while(digit[i]>0){
			ans = ans + intToString(i);
			digit[i]--;
		}
	}
	
	cout<<ans<<endl;
	return 0;
}

注解

1、利用stringstream,整型转String

#include <sstream>
string intToString(int t){
    	stringstream ss;
    	ss<<t;
    	string tmp;
    	ss>>tmp;
    	return tmp;
    }

结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zhanggirlzhangboy/article/details/82935392