PAT-1023组个最小数

在这里插入图片描述
讲解:
注释里面也讲了,其实也算是贪心吧。贪心里面的有前提。第一个数不为0.设一个循环找出来,然后break掉

代码如下:

#include <iostream>
using namespace std;
int main(){
    int count[10];//用来计入数位
    for(int i=0;i<10;i++){
        cin>>count[i];
    }
    //找出除0位外最小的数字
    for(int i=1;i<10;i++){
        if(count[i]>0){
            cout<<i;//这个输出最小位
            count[i]--;//这个位上的最小数的次数要减1
            break;//找到最小数,跳出循环
        }
    }
    //底下其实还是类比于二维数组
    for(int i=0;i<10;i++){ //输出位
        for(int j=0;j<count[i];j++){ //输出位出现的对应次数
            cout<<i;
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_44110100/article/details/105731192
今日推荐