码迷,mamicode.com
首页 > 编程语言 > 详细

AC日记 - - - 23——各位数字之和排序

时间:2018-01-17 00:32:48      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:第一个   sizeof   class   tput   整数   pos   int   ++   post   

Problem Description

给定n个正整数,根据各位数字之和从小到大进行排序。

Input

输入数据有多组,每组数据占一行,每行的第一个数正整数n,表示整数个数,后面接n个正整数。当n为0时,不作任何处理,输入结束。n<=10

Output

输出每组排序的结果。

Example Input

2 1 2
3 121 10 111
0

Example Output

1 2
10 111 121

Hint

#include <stdio.h>
#include <stdlib.h>
int f(int n)//写一个计算各位数字之和的数。
{
    int sum=0;
    while(n!=0)
    {
        sum+=n%10;
        n=n/10;
    }
    return sum;
}
int main()
{
    int n;
    int *num, i, j, temp;
    while(scanf("%d", &n)!=EOF)
    {
        if(n==0)
        return 0;
        num=malloc(sizeof(int)*n);
        for(i=0; i<n; i++)
        scanf("%d", &num[i]);

        for(i=1; i<n; i++)
        for(j=0; j<n-i; j++)
        {
            if(f(num[j])>f(num[j+1]))
            {
                temp=num[j+1];
                num[j+1]=num[j];
                num[j]=temp;
            }
        }

        for(i=0; i<n; i++)
        {
            if(i==0)
            printf("%d", num[i]);
            else
            printf(" %d", num[i]);
        }
            printf("\n");
    }
}

  

AC日记 - - - 23——各位数字之和排序

标签:第一个   sizeof   class   tput   整数   pos   int   ++   post   

原文地址:https://www.cnblogs.com/Jie-Fei/p/8297540.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!