程序设计竞赛(数组+多组测试)
生活随笔
收集整理的這篇文章主要介紹了
程序设计竞赛(数组+多组测试)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
每年5月份,省里都要舉行程序設計競賽。 為了讓最優秀的學生去參加比賽,我們一般需要做一個選拔工作。 現在你來幫老師完成這個任務哦。
Input
多組測試數據,每組數據一行,該行先輸入一個整數n ( n <= 30),表示參加選拔的同學人數。然后是n個整數表示選拔成績。
Output
對于每組測試數據,請在一行從高到低輸出他們的成績。
Sample Input
4 2 6 7 1
3 4 10 9
Sample Output
7 6 2 1
10 9 4
題目思路:將大的數與最前的數交換,多次循環,直到最大的變為第一個數,然后從大到小依次輸出。其中數字交換要引入中間量確定下標。
#include<stdio.h> int main() {int n,i,j,big,x,temp;int a[30];while(scanf("%d",&n)!=EOF){for(i=0;i<n;i++)scanf("%d",&a[i]);for(j=0;j<n-1;j++)//只需判斷n-1次,最后一個必是最小值{big=j;//big從零開始,代表大的數應該的下標,從零開始說明a【0】為最大值for(i=j+1;i<n;i++)//用后面的數與該值比較if(a[i]>a[big]) big=i;temp=a[big];a[big]=a[j];a[j]=temp;//j代表a【i】 }for(i=0;i<n;i++){printf("%d",a[i]);if(i!=n-1)printf(" ");}printf("\n");}return 0; }總結
以上是生活随笔為你收集整理的程序设计竞赛(数组+多组测试)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 事件图谱是什么?它能预测未来吗?
- 下一篇: r语言library什么意思_还没张口对