夕拾算法初级篇:8) C语言-数字交换
来源:互联网 发布:perl encode json 编辑:程序博客网 时间:2024/06/05 16:50
题目描述
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
输入
10个整数
输出
整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
样例输入
2 1 3 4 5 6 7 8 10 9
样例输出
题目来源:http://codeup.cn/problem.php?cid=100000606&pid=0
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
输入
10个整数
输出
整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
样例输入
2 1 3 4 5 6 7 8 10 9
样例输出
1 2 3 4 5 6 7 8 9 10
其实这个题目是个水题,但是水题也有暗流,比如通常第一次会给出如下的代码
#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int M=10;int main(){int i,a[M],min,max;for(i=0;i<M;i++){scanf("%d",a+i);}max=min=0;for(i=1;i<M;i++){if(a[max]<a[i]) max=i;if(a[min]>a[i]) min=i;}swap(a[0],a[min]);swap(a[M-1],a[max]);for(i=0;i<M;i++){printf("%d ",a[i]);}printf("\n");return 0;}
5 4 3 2 1 这个序列,若使用上面的代码,min_index=4,max_index=0
首先最小的和第一个对调, 即a[0]和a[min_index]对调获得序列 1 4 3 2 5
其次最大和最后一个对调,即a[max_index]和a[4]对调获得 5 4 3 2 1 (呵呵又回到原点了- -)
其实只要注意到,如果最大的位置和第一个位置重叠了,则交换后需要改变max_index,具体只要把min_index赋值给max_index即可 (如果有多个最大或最小,默认取第一个)
#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int M=10;int main(){int i,a[M],min,max;for(i=0;i<M;i++){scanf("%d",a+i);}max=min=0;for(i=1;i<M;i++){if(a[max]<a[i]) max=i;if(a[min]>a[i]) min=i;}swap(a[0],a[min]);if(max==0) max=min; //添加的代码 swap(a[M-1],a[max]);for(i=0;i<M;i++){printf("%d ",a[i]);}printf("\n");return 0;}
题目来源:http://codeup.cn/problem.php?cid=100000606&pid=0
0 0
- 夕拾算法初级篇:8) C语言-数字交换
- C语言快速交换2数字
- C语言的初级算法大全
- 初级C语言算法实现分解质因数
- C语言基本算法一交换
- C语言 将一个整形数字二进制位进行奇偶交换
- C语言交换两个数字的三种做法
- 近100个C语言基础算法案例(初级篇)
- C语言声明学习之初级篇
- C语言声明学习之初级篇
- C语言初级问题
- C语言初级学习
- c语言初级知识点
- C语言 - 初级内存
- c语言指针初级
- C语言初级练习
- C语言初级编程
- c语言初级
- 深度学习新星:GAN的基本原理、应用和走向
- Maximum Depth of Binary Tree
- 【Android】RxJava入门
- 我的2016
- Spring Boot Web应用开发 Servlets、Filters、listeners
- 夕拾算法初级篇:8) C语言-数字交换
- 【leetcode】【Easy】【455. Assign Cookies】【greedy】
- 北京的雾霾是大风吹走的吗
- Note7燃损原因公布三星加强安全性保障未来产品安全
- 24.Yii 组件行为
- Health Endpoint Monitoring模式
- Merge Sorted Array
- Python零基础入门二十七之GUI组件
- 为什么要写博客?