哈工大計算機專業機試編程題(2010)最大小值的交換

輸入一個數n,然後輸入n個數值各不相同,調換數組中最大和最小的兩個數,然後輸出。

輸入:

測試數據有多組,輸入n(1<=n<=20),接着輸入n個數。

輸出:

對於每組輸入,輸出交換後的結果。

樣例輸入:

2

1 3

樣例輸出:

3 1

#include<stdio.h>
int main()
{
    int n,s[25],minNum,ipos,maxNum,apos;
    while((scanf("%d",&n))!=EOF)
    {
        for(int i=0;i<n;i++)
        {
            scanf("%d",&s[i]);
            if(i==0)
            {
                minNum=s[0];
                maxNum=s[0];
                ipos=0;
                apos=0;
            }
            else
            {
                if(s[i]>maxNum)
                {
                    maxNum=s[i];
                    apos=i;
                }
                if(s[i]<minNum)
                {
                    minNum=s[i];
                    ipos=i;
                }
            }
        }
        int temp=s[ipos];
        s[ipos]=s[apos];
        s[apos]=temp;
        for(int i=0;i<n;i++)
            printf("%d ",s[i]);
        printf("\n");
    }
    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章