程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 問題一百一十八:個位數字之和排序

問題一百一十八:個位數字之和排序

編輯:關於C語言

print?Description 
 
給定n個正整數,根據各位數字之和從小到大進行排序。  
 
Input 
 
 
輸入數據有多組,每組數據占一行,每行的第一個數正整數n(1<=n<=20),表示整數個數,後面接n個正整數。當n為0時,不作任何處理,輸入結束。 
 
 
Output 
 
輸出每組排序的結果。 
 
Sample Input 
 
 
2 1 2 
3 121 10 111 

 
Sample Output 
 
 
1 2 
10 111 121 

Description

給定n個正整數,根據各位數字之和從小到大進行排序。

Input


輸入數據有多組,每組數據占一行,每行的第一個數正整數n(1<=n<=20),表示整數個數,後面接n個正整數。當n為0時,不作任何處理,輸入結束。


Output

輸出每組排序的結果。

Sample Input


2 1 2
3 121 10 111
0

Sample Output


1 2
10 111 121
 


[plain]  #include<stdio.h> 
 
int get(int num); 
 
int main() 

int j,i,n,a[21],c; 
      
        while(1) 
        { 
            scanf("%d",&n); 
            if(n==0) 
            { 
                break;       
            } 
 
            for(i=0;i<n;i++) 
            { 
                scanf("%d",&a[i]); 
             
            } 
            for(i=0; i<n-1; i++) 
            { 
                for(j=i+1; j<n; j++)  
                { 
                    if(get(a[i])> get(a[j])) 
                    { 
                      c=a[i]; 
                      a[i]=a[j]; 
                      a[j]=c; 
                    } 
                } 
            } 
            for(i=0;i<n;i++) 
            { 
                printf("%d", a[i]); 
                if(i<n-1) 
                { 
                    printf(" "); 
                } 
            } 
                printf("\n"); 
        } 
 
     return 0; 

 
int get(int num) 

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

#include<stdio.h>

int get(int num);

int main()
{
int j,i,n,a[21],c;
 
  while(1)
  {
   scanf("%d",&n);
   if(n==0)
   {
             break;  
   }

   for(i=0;i<n;i++)
   {
    scanf("%d",&a[i]);
   
   }
   for(i=0; i<n-1; i++)
   {
    for(j=i+1; j<n; j++)
    {
     if(get(a[i])> get(a[j]))
     {
       c=a[i];
       a[i]=a[j];
       a[j]=c;
     }
    }
   }
   for(i=0;i<n;i++)
   {
    printf("%d", a[i]);
    if(i<n-1)
    {
     printf(" ");
    }
   }
    printf("\n");
  }

     return 0;
}

int get(int num)
{
   int sum=0;

   while(num)
   {
       sum+=num%10;
    num/=10;
   }

   return sum;
}
  

 \
 


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved