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

版权声明:转载请声明原文链接地址,谢谢! https://blog.csdn.net/weixin_42859280/article/details/85257975

题目描述

输入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语言 

题目截图:
在这里插入图片描述
思路:

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

代码:

#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结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42859280/article/details/85257975