C程序查找具有最多不同数字的数字

时间:2016-04-01 20:25:29

标签: c loops

用户从键盘输入n个数字,我应该在它们之间找到数字最不相同的数字。

示例:

输入数字:12

输入数字:123

输入数字:5555

数字不同的数字是123(3个不同的数字)。

问题是我不应该使用向量或数组或其他东西。 我应该只使用循环和if子句。我知道如何找到给定数字中的位数,但我应该如何比较所有数字以找到不同数字的数量?

1 个答案:

答案 0 :(得分:-2)

最简单的方法是迭代每个可能的数字(0到9)并查看它是否存在。

这样可以确定数字中的唯一数字:

int FindNumberDigits(int number) {
    int uniqueDigits=0;
    for(int i=0;i<10;++i) {
        int numberTemp=number;
        while(numberTemp) {
             if(numberTemp%10 == i) {
                 ++uniqueDigits;
                 break;
             }
             numberTemp/=10;
        }
    }
    return uniqueDigits;
}