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;
}

猜你喜欢

转载自www.cnblogs.com/tsruixi/p/11824828.html