B1023 组个最小数 (20 分)

一、技术总结

  1. 这一题主要的处理点是数字0别在第一个位置输出,这里提供两种解决思路。
    • 一个是直接在一个for循环里面只要输出了一个位置后直接判断,是否了0的数字可以输出。
    • 还有一个就是直接for循环一次输出一个后就break。结束循环,然后就可以直接从0开始遍历输出所有数字。

二、参考代码(是第一种解决思路)

#include<iostream>
using namespace std;
int hashTable[11];
int main(){
	int num;//记录每个数字的个数 
	for(int i = 0; i < 10; i++){
		cin >> num;
		hashTable[i] = num; 
	}
	for(int i = 0; i < 10; i++){
		if(hashTable[i] > 0 && i != 0){
			while(hashTable[i] > 0){
				cout << i;
				hashTable[i]--;
				if(hashTable[0] > 0){
					while(hashTable[0] > 0){
						cout << 0;
						hashTable[0]--;
					}
				}
			}

		}
	}
	return 0;
}
posted @ 2019-11-09 11:32  睿晞  阅读(165)  评论(0编辑  收藏  举报