|
|
发表于 2020-10-16 22:10:26
|
显示全部楼层
本楼为最佳答案
- #include<bits/stdc++.h>
- #include<iostream>
- using namespace std;
- int get_sum(int x)
- {
- if(x == 0)
- return 0;
- else
- {
- return x%10 + get_sum(x / 10);
- }
- }
- bool cmp1(int x, int y)
- {
- int xx = get_sum(x), yy = get_sum(y);
- if( xx != yy)
- return xx > yy;
- else
- {
- return x > y;
- }
- }
- int main()
- {
- int *a, n;
- scanf("%d", &n);
- a = new int[n + 2];
- for(int i = 0; i < n; i++)
- scanf("%d", &a[i]);
- sort(a, a + n, cmp1);
- for(int i = 0; i < n; i++)
- printf("%d %d\n", a[i], get_sum(a[i]));
- }
复制代码 |
评分
-
查看全部评分
|