在线求帮忙,我现在有java语言编的程序想弄成C语言运行,求大神修改代码。下面是代码。

2025-01-05 23:01:36
推荐回答(1个)
回答1:

public static void main(String[] args) {
        Map map = new HashMap();
        map.put("0268", "0A1B");
        map.put("9631", "0A1B");
        map.put("4172", "0A2B");
        map.put("3425", "1A1B");
        map.put("5746", "0A2B");
        map.put("7529", "0A1B");

        List allResults = new CopyOnWriteArrayList();
        for(int i = 0;i < 10;i++){
            for(int j = 0; j < 10;j++){
                for(int a = 0; a < 10;a++){
                    for(int b = 0; b < 10;b++){
                        if(i != j && i != a && i != b && j != a && j !=b && a!= b){
                            allResults.add(i + "" + j + "" + a + "" +  b);
                        }
                    }
                }
            }
        }

        for(String key : map.keySet()){
            String value = map.get(key);
            int a = Integer.valueOf(value.substring(0,1));
            int b = Integer.valueOf(value.substring(2,3));
            for(String result : allResults){
                int countA = 0;
                int countB = 0;
                for(int i = 0; i < key.length();i++){
                    if(key.charAt(i) == result.charAt(i)){
                        countA++;
                        continue;
                    }else{
                        for(int j = 0;j < result.length(); j++){
                            if(key.charAt(i) == result.charAt(j) && i != j){
                                countB++;
                                continue;
                            }
                        }
                    }
                }
                if(a != countA || b != countB){
                    allResults.remove(result);
                }else{
                }
            }
        }
        for(String result : allResults){
            System.err.println(result);
        }
    }
我要回答|搜索相关资料