山科實驗 Problem B: 尋找最大的前n個數
阿新 • • 發佈:2018-12-21
Problem B: 尋找最大的前n個數
Description
輸入m(0<m<100)個整數,從大到小輸出其中最大的前n個,若m<=n,則從大到小輸出全部的數.
Input
輸入為一行,分別是m、n和m個整數.輸入格式見sample input.
Output
從大到小輸出其中最大的前n個,若m<=n,則從大到小輸出全部的數.輸出格式見sample output.
Sample Input
10 3 1 2 3 4 5 6 7 8 9 10
Sample Output
10 9 8
HINT
Append Code
#include <stdio.h> int main() { int m, n; int i, j, k, l, max, temp; int a[100] = {0}; scanf("%d",&m); scanf("%d",&n); for(i = 0; i < m; i++) { scanf("%d",&a[i]); } for(k = 1; k < m; k++) { for(j = 0; j < m - k; j++) { if(a[j] > a[j+1]) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } if(m <= n) { for(l = m - 1; l > 0; l--) printf("%d ",a[l]); printf("%d",a[0]); } else { for(l = m - 1;l > m - n ; l--) printf("%d ",a[l]); printf("%d",a[m - n ]); } } 基本思路:先進行一個氣泡排序,再按要求輸出