题目描述

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

输入

10个整数

输出

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

样例输入

2 1 3 4 5 6 7 8 10 9

样例输出

1 2 3 4 5 6 7 8 9 10 

来源/分类

C语言 

题目截图:

ACMNO.37  C语言-数字交换 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。_i++


思路:

坑,太坑啦。最大的数在第一个位置,最小的数在最后这样就很难排序啦!
最后,多番尝试。决定先解决最小的数放在第一位,在解决最大数放在最后!
详细的看代码吧,应该挺简单的!

代码:

#include <iostream>
using namespace std;
int a[10]={0};int i;
void get(int a[10])
{
for(i=0;i<10;i++)
cin>>a[i];
}
void change(int a[10])//应该一次一次解决!
{
int max,min,temp;min=a[0];max=a[0];int t=0;
for(i=0;i<10;i++)
{
if(min>=a[i])
{
min=a[i];
t=i;
}
}
temp=a[t];
a[t]=a[0];
a[0]=temp;
for(i=0;i<10;i++)
{
if(max<=a[i])
{
max=a[i];
t=i;
}
}
temp=a[t];
a[t]=a[9];
a[9]=temp;
}
void out(int a[10])
{
for(i=0;i<10;i++)
cout<<a[i]<<" ";

}
int main()
{
get(a);
change(a);
out(a);

}

代码截图:

ACMNO.37  C语言-数字交换 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。_i++_02


执行结果:

ACMNO.37  C语言-数字交换 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。_对换_03


OJ结果:

ACMNO.37  C语言-数字交换 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。_ios_04