祈267 2021-09-25 23:36 采纳率: 100%
浏览 44
已结题

如何比对数组内的数字?

今天考国二,有一道程序设计题,比如有个数组a[10]={1996,2007,2259,5486,6067,963,955,103,6809,5797}
统计数组里有相同的数字的数比如1996,955,5979……总共是6个,我想知道咋对比数组里的数字呢?我觉得得用if语句但是表达式要咋写呢?

  • 写回答

3条回答 默认 最新

  • 泡视界 2021-09-26 11:16
    关注

    这…… 用 if 语句恐怕是不太够吧。
    还是需要多写几行的吧
    1.要遍历每一个数
    2.要获取当前数的长度
    3.要对当前数一位一位进行比较

    int main()
    {
        int a[10] = { 1996,2007,2259,5486,6067,963,955,103,6809,5797 };
        int count = 0;
        int length = 0;
    
        for (int index = 0; index < 10; index++) {
            //获取当前数的长度
            for (int i = 1;; i++) {
                if (a[index] / (int)pow(10,i) == 0) {    
                    length = i;
                    break;
                }
            }
            
            
            bool veryGood = false;
            int tmp = 0;
            //然后对当前数一位一位进行比较
            for (int i = 1; i < length; i++) {
                tmp = a[index] / 10;
                for (int j = i; j < length; j++) {
                    if (a[index] % 10 == tmp % 10) {
                        veryGood = true;
                        break;
                    }
                    tmp /= 10;
                }
                //如果有相同数字就计数加1
                if (veryGood) {
                    count++;
                    break;
                }
                a[index] /= 10;
            }
        }
    
        printf("%d\n", count);
        
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月4日
  • 已采纳回答 9月26日
  • 创建了问题 9月25日

悬赏问题

  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。