哈工大计算机专业机试编程题(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;
}

 

上一篇:软件工程个人项目1


下一篇:PAT乙级1027