17R-无重复数字的三位数和去重后最大数

(1)有 1、2、3 、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
(2)给定一个正整数,给出消除重复数字以后最大的整数。
输入示例:423234
输出示例:432


void Three(){
    for(int i = 1;i <= 4; i++){
        for(int j = 1; j <= 4;j++){
            for(int k = 1; k <= 4;k++){
                if(i != j && j != k && i != k){
                    int num = i+j*10+k*100;
                    printf("%d ",num);
                }
            }
        }
    }
}
void getMaxNumber(char *str){
    int num[10] = {0};
    for(int i = 0;i<strlen(str);++i)
        num[str[i] - '0'] = 1;        //将给定数组的字符值改变为数字值,相同字符转化后都是同一个num数组的下标,也起到去重的作用
    for(int j =9 ;j>=1;--j)
        if(num[j] == 1)
        printf("%d",j);
}

(感谢西交无尽学长提供以上题目练习)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值