1 条题解

  • 0
    @ 2026-1-30 19:48:39
    #include<bits/stdc++.h>
    using namespace std;
    // [1] 存储输入的N个整数(数组名统一用arr)
    int arr[1005];
    // [2] 存储整数的总个数、要查找的数字x
    int n, x;
    // [3] 统计符合条件的数的个数和总和(替换count为cnt,避免关键字冲突)
    int cnt = 0, sum = 0;
    
    int main() {
        cin >> n; // [4] 输入整数的总个数n
        // [5] 循环读取n个整数并存储到数组中
        for(int i = 0; i < n; i++) {
            cin >> arr[i];
        }
        cin >> x; // [6] 输入要查找的数字x
        // [7] 遍历所有整数,检查每个数是否包含数字x
        for(int i = 0; i < n; i++) {
            int num = arr[i]; // [8] 取出当前数
            int flag = 0; // [9] 初始化标记flag(0表示未找到,1表示找到)
            // [10] 逐位分解当前数,检查是否包含x
            while(num) {
                if(num % 10 == x) { // [11] 检查当前数的最后一位是否等于x
                    flag = 1; // [12] 找到x,标记为1并跳出循环
                    break;
                }
                num /= 10; // [13] 去掉当前数的最后一位,继续检查下一位
            }
            if(flag) { // [14] 如果当前数包含x
                cnt++; // [15] 符合条件的数的个数加1(同步替换为cnt)
                sum += arr[i]; // [16] 累加符合条件的数的总和
            }
        }
        cout << cnt << " " << sum; // [17] 输出符合条件的数的个数和总和(同步替换为cnt)
        return 0;
    }
    
    • 1

    信息

    ID
    1255
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    2
    已通过
    1
    上传者