ZZULIOJ【1120】最值交换【数组】
来源:互联网 发布:js bind 原理 编辑:程序博客网 时间:2024/06/06 12:26
1120: 最值交换
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 4691 Solved: 2037
SubmitStatusWeb Board
Description
有一个长度为n的整数序列。请写一个程序,先把序列中的最小值与第一个数交换,再把最大值与最后一个数交换。输出转换好的序列。 分别编写两个函数MinIndex()和MaxIndex()来计算最小值下标和最大值下标。
int MinIndex(int a[], int n); //函数返回数组a中最小元素的下标
int MaxIndex(int a[], int n); //函数返回数组a中最大元素的下标
数组元素的输出调用函数PrintArr()。
Input
输入包括两行。
第一行为正整数n(1≤n≤10)。
第二行为n个正整数组成的序列,保证没有重复元素。
Output
输出转换好的序列。数据之间用空格隔开。
Sample Input
55 4 1 2 3
Sample Output
1 4 3 2 5
解析:
最大值最小值的下标要分开来求,博主一开始想一次求出来,后来总是出错,一次将两个最值交换很容易出错,
建议分两次来操作。
程序如下:
#include<cstdio>int main(){ int n,i,j=0,k=0,a[10003],c,d; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); int max=a[0],min=a[0]; for(i=0;i<n;i++) { if(a[i]>max) { max=a[i]; j=i; } }c=a[n-1]; a[n-1]=a[j]; a[j]=c; for(i=0;i<n;i++) { if(a[i]<min) { min=a[i]; k=i; }}d=a[0]; a[0]=a[k]; a[k]=d; for(i=0;i<n;i++) printf("%d%c",a[i],i==n-1?'\n':' '); return 0;}
阅读全文
0 0
- ZZULIOJ【1120】最值交换【数组】
- 1120: 最值交换
- 1120: 最值交换
- hpuoj【1034】交换最值的位置【数组】
- zzuli OJ 1120: 最值交换
- 【zzulioj 1915 三维数组】
- zzulioj-1959-数组最大值【思维】
- ZZULIOJ【1116】删除元素【数组】
- ZZULIOJ【1118】数列有序【数组】
- 交换两个数组的值
- 交换两个数组的值
- 关于数组值的交换
- 数组交换
- 数组交换
- ZZULIOJ【1117】查找数组元素【数组】
- ZZULIoj 2179: 紧急营救 ( 最短路
- 【zzulioj 1916 DFS序 + 树状数组】
- zzulioj 1916 (DFS序 树状数组)
- 抽象类和接口
- 爬取安卓手机应用内容
- debian stretch + kernel 4.4 固件发布(支持硬件加速),可安装kodi
- 剑指offer--数组中重复的数字
- Android 内存优化总结&实践
- ZZULIOJ【1120】最值交换【数组】
- TSUNG学习教程 安装与使用(二)
- UML类图知识简介
- mysql和oracle的区别(功能性能、选择、使用它们时的sql等对比)
- D
- Lucas定理(板子+理解
- hdu--6121--Build a tree
- Ubuntu的php支持curl
- 使用storm统计英文版<<圣经>>的词频