#include #include #include

int digitSum(int num) { int sum = 0; while(num > 0) { sum += num % 10; num /= 10; } return sum; }

int main() { int n; std::cin >> n;

std::vector<int> nums(n);
for(int i = 0; i < n; i++) {
    std::cin >> nums[i];
}

std::sort(nums.begin(), nums.end(), [](int a, int b) {
    return digitSum(a) < digitSum(b);
});

for(int i = 0; i < n; i++) {
    std::cout << digitSum(nums[i]) << " ";
}

return 0;
希望能用c++编写代码描述输入n个不超过30000的整数n≤10。然后求出每个数的数字和再按每个数的数字和由小到大排列输出。输入描述第一行为整数n 第二行为n个整数输出描述由小到大排列的每个数的数字和每个数之间保留一个空格

原文地址: https://www.cveoy.top/t/topic/iLic 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录