ACMNO.37 C语言-数字交换 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
原创
©著作权归作者所有:来自51CTO博客作者dream666uping的原创作品,请联系作者获取转载授权,否则将追究法律责任
题目描述
输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换。
写三个函数; ①输入10个数;②进行处理;③输出10个数。
输入
输出
整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
样例输入
样例输出
来源/分类
题目截图:
思路:
坑,太坑啦。最大的数在第一个位置,最小的数在最后这样就很难排序啦!
最后,多番尝试。决定先解决最小的数放在第一位,在解决最大数放在最后!
详细的看代码吧,应该挺简单的!
代码:
#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);
}
代码截图:
执行结果:
OJ结果: