1. 程式人生 > >[1188]C語言實驗——各位數字之和排序 sdutOJ

[1188]C語言實驗——各位數字之和排序 sdutOJ



C語言實驗——各位數字之和排序

Time Limit: 1000ms   Memory limit: 65536K  有疑問?點這裡^_^

題目描述

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

輸入

輸入資料有多組,每組資料佔一行,每行的第一個數正整數n,表示整數個數,後面接n個正整數。當n為0時,不作任何處理,輸入結束。

輸出

輸出每組排序的結果。

示例輸入

2 1 2
3 121 10 111
0

示例輸出

1 2
10 111 121
#include <stdio.h>
int main()
{
    int n,i,j,q,t;
    while(scanf("%d",&n),n)
    {
        int a[n];
        int sum[n];
        for(i=0; i<n; i++)
        {
            scanf("%d",&a[i]);
            sum[i]=a[i];
        }
        for(i=0; i<n; i++)
        {
            q=sum[i];
            sum[i]=0;
            while(q/10!=0)
            {
                sum[i]+=q%10;
                q/=10;
            }
            if(q/10==0)
                sum[i]+=q;
        }
        for(i=0; i<n-1; i++)
            for(j=0; j<n-i-1; j++)
             {
                  if(sum[j]>sum[j+1])
                {
                    t=sum[j];
                    sum[j]=sum[j+1];
                    sum[j+1]=t;
                    t=a[j];
                    a[j]=a[j+1];
                    a[j+1]=t;
                }
                else if(sum[j]==sum[j+1])
                {
                    if(a[j]>a[j+1])
                    {
                        t=a[j];
                        a[j]=a[j+1];
                        a[j+1]=t;
                    }
                }
             }
        for(i=0; i<n; i++)
        {
            if(i!=n-1)
                printf("%d ",a[i]);
            else
                printf("%d\n",a[i]);
        }
    }
    return 0;
}

相關推薦

[1188]C語言實驗——各位數字之和排序 sdutOJ

 C語言實驗——各位數字之和排序 Time Limit: 1000ms   Memory limit: 65536K  有疑問?點這裡^_^ 題目描述 給定n個正整數,根據各位數字之和從小到大進行排序。 輸入 輸入資料有多組,每組資料佔一行,每行的第一個數

1188-C語言實驗——各位數字之和排序-JAVA

C語言實驗——各位數字之和排序 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 給定n個正整數,根據各位數字之和從小

1188-C語言實驗——各位數字之和排序

Problem Description 給定n個正整數,根據各位數字之和從小到大進行排序。 Input 輸入資料有多組,每組資料佔一行,每行的第一個數正整數n,表示整數個數,後面接n個正整數。當n為0時,不作任何處理,輸入結束。n<=10 Output 輸出每組

2009: C語言實驗——各位數字之和排序

bool iLoveYou = true,youLoveMe; //我一開始就已經是愛你的了,但不知道你是否愛我。if (iLoveYou||youLoveMe)               //但其實只要我愛你,     cout<<"I am a happy

Java練習 SDUT-1188_各位數字之和排序

lse inpu class 個數 lose time pub cin int C語言實驗——各位數字之和排序 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 給定n個正整數,根據各位數字之和從

C語言實驗——輸入數字星期,輸出英文(switch語句)

#include<stdio.h> int main() { int n; scanf("%d",&n); switch(n) { case 1: printf(“Monday”); break; case 2: printf(“Tuesday”); break; c

各位數字之和排序

import java.util.*; public class Main { public static class point { public int x; public int sum; public int order; } pu

1119-C語言實驗——輸入數字星期,輸出英文(switch語句)-JAVA

C語言實驗——輸入數字星期,輸出英文(switch語句) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 從鍵盤上輸

C++ 計166-1 C語言實驗——輸入數字星期,輸出英文

/*Description 從鍵盤上輸入數字星期,然後輸出它的英文: 其對應關係是 1 Monday 2 Tuesday 3 Wednesday 4 Thursday 5 Friday 6 Saturday 7 Sunday Input 從鍵盤輸入數字星期, Out

山東理工大學ACM平臺題答案 C語言實驗——列印數字圖形 1179

                                                    C語言實驗——列印數字圖形                      Time Limit: 1

C語言解決讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字

/* 讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。 輸入格式:每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。 輸出格式:在一行內輸出n的各位數字之

C語言實驗——矩陣下三角元素之和

C語言實驗——矩陣下三角元素之和 ***此題的目的是 訓練指標的使用 *** Problem Description 輸入一個正整數n(1<=n<=10),再輸入n*n的矩陣,要求求該矩陣的下三角元素之和。 Input 輸入包括n+1行。 第一行為整數n; 接下來的n行為

實驗2-4-1 統計各位數字之和是5的數 (20分)

http://pta.patest.cn/pta/test/13/exam/3/question/411 #include <stdio.h> int is( int num

C語言實現 輸入數字按從小到大排序

首先看最簡單的2個數的比較排序。 方法一: 最最簡單、直接的方法,利用比較。 #include <stdio.h> int main() { int x,y; in

|1172|C語言實驗---矩陣下三角形之和

Problem Description 輸入一個正整數n(1<=n<=10),再輸入n*n的矩陣,要求求該矩陣的下三角元素之和。 Input 輸入包括n+1行。 第一行為整數n;

C語言實驗——三個數排序

Problem Description 輸入三個整數x,y,z,請把這三個數由小到大輸出。 Input 輸入資料包含3個整數x,y,z,分別用逗號隔開。 Output 輸出由小到大排序後的結果,用空格隔開。 Example Input 2,1,3 Example

理工大學ACM平臺題答案關於C語言 1172 C語言實驗——矩陣下三角元素之和

C語言實驗——矩陣下三角元素之和 Time Limit: 1000ms   Memory limit: 65536K  有疑問?點這裡^_^ 題目描述 輸入一個正整數n(1<=n<

【PAT】【C++】讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字

讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。 輸入格式:每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。 輸出格式:在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後一個拼音數字後沒有空格。 輸

C語言】統計數字在排序數組中出現的次數

語言 個數 統計 ret r+ () class tdi times //數字在排序數組中出現的次數。 //統計一個數字在排序數組中出現的次數。比如:排序數組{1,2,3,3,3,3,4,5}和數字3,因為3出現了4次,因此輸出4. #include <stdio

C語言數組之冒泡排序+折半查找法(二分查找)

不存在 次數 存在 是否 .com int count 結束 如果 冒泡排序算法 1 int num[5]; 2 int i; 3 //循環接收用戶輸入的元素 4 for(i=0;i<5;i++){ 5 pr