供参考:
#include <stdio.h>
#define N 11
int sum(int n)
{
int s = 0;
while (n){
s += n % 10;
n /= 10;
}
return s;
}
int main()
{
int n, i, j, t, a[N];
scanf("%d", &n);
for (i = 0;i < n; i++)
scanf("%d", &a[i]);
for (i = n - 1; i > 0; i--){
for (j = 0; j < i; j++){
if (sum(a[j]) < sum(a[j+1]))
t = a[j],a[j] = a[j+1],a[j+1] = t;
}
}
for (i = 0; i < n; i++)
printf(i ? ",%d" : "%d", a[i]);
return 0;
}
#include <stdio.h>
int digit_sum(int num) {
int sum = 0;
while (num > 0) {
sum += num % 10;
num /= 10;
}
return sum;
}
int main() {
int n;
scanf("%d", &n);
int nums[n];
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
int sum1 = digit_sum(nums[i]);
int sum2 = digit_sum(nums[j]);
if (sum1 < sum2) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
}
for (int i = 0; i < n; i++) {
printf("%d", nums[i]);
if (i < n - 1) {
printf(",");
}
}
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:我需要更多信息或例子才能回答这个问题,请提供更多信息或例子。