UDP广播协议叫吃饭


私信TA

用户名:Mustenaka

访问量:149529

签 名:

个人博客www.mustenaka.cn

等  级
排  名 13
经  验 25377
参赛次数 8
文章发表 197
年  龄 3
在职情况 学生
学  校 Sky_box
专  业 NE

  自我简介:

欢迎光临我的博客www.mustenaka.cn,Python,C#,U3D,C/C++开发合作可以找我

解题思路:
有人说不能一边循环就找完最大和最小,我就一直挺奇怪的,为什么不行呢?

其实是可以一遍找完的,我们建立两组变量(max,f 以及 min,u),分别存储最大值以及其所在数组的下表,最小值以及其所在数值的下标,这样建立完成之后按照基本的便利搜索思路将最大值,最小值的这些个信息存储下来再进行交换即可。

这是一个挺简单的思路
注意事项:
我就不拆分几个函数了,毕竟大家基本都懂,我只是讲讲思路和写一个代码而已。
参考代码:

#include<bits/stdc++.h>
#define MX 1005
using namespace std;
int main() {
	int a[MX];
	for(int i=0; i<10; i++)
		cin>>a[i];
	int min=a[0],max=a[9],f=0,u=0;
	for(int i=0; i<10; i++) {
		if(a[i]<min) {
			min=a[i];
			f=i;
		}
		if(a[i]>max) {
			max=a[i];
			u=i;
		}
	}
	swap(a[u],a[9]);
	swap(a[f],a[0]);
	for(int i=0; i<10; i++) {
		cout<<a[i]<<' ';
	}
	return 0;
}


 

0.0分

5 人评分

  评论区

博主你好,我想请问一下为什么 swap(a[u],a[9]);
    swap(a[f],a[0]);的顺序调换了,答案是错误的
2019-10-08 17:22:55
  • «
  • 1
  • »