游客 Signup | Login
中文 | En

1449 - C语言-数字交换

输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。

Input

10个整数

Output

整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)

Examples

Input

2 1 3 4 5 6 7 8 10 9

Output

1 2 3 4 5 6 7 8 9 10 

Solution C

int main(int argc, char* argv[])
{
	int i,num[10],max,min,ix,im,tem;
	for(i=0;i<10;i++)
	{
		scanf("%d",&num[i]);
		if(i==0) 
		{
			max=min=num[i]; ix=im=0;
		}
	    else if(num[i]>max) 
		{
	        max=num[i]; ix=i;
		} 
        else if(num[i]<min)
		{
		  min=num[i]; im=i;
		}
	}
	tem=num[ix];num[ix]=num[9];num[9]=tem;
	if(im==9) im=ix;
    tem=num[im];num[im]=num[0];num[0]=tem;
  for(i=0;i<10;i++)
	  printf("%d ",num[i]);
  puts("");
	return 0;
}

Solution C++

#include <iostream>
#include <algorithm>
using namespace std;
int main ()
{
    int num[10];
    int MIN = 100000;
    int MAX = 0;
    for (int i = 0;i < 10; i++)
    {
        cin>>num[i];
        MIN = min (MIN,num[i]);
        MAX = max (MAX,num[i]);
    }
    for (int i = 0;i < 10; i++)
    {
        if (MIN == num[i])
        {
            num[i] = num[0];
            num[0] = MIN;
        }
        if (MAX == num[i])
        {
            num[i] = num[9];
            num[9] = MAX;
        }
    }
    for (int i = 0;i < 10; i++)
        cout<<num[i]<<" ";
    cout<<endl;
    return 0;
}

Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题