博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2021-6-5【找出最大数和最小数所在的位置,并把二者对调】
阅读量:2055 次
发布时间:2019-04-28

本文共 1000 字,大约阅读时间需要 3 分钟。

输入一批整数,以0为结束标志,找出最大数和最小数所在的位置,并把二者对调

100
任务要求
参考答案
评论
任务描述
相关知识
编程要求
测试说明
任务描述
本关任务:输入一批整数,最多不超过100个,以 0 为结束标志,找出最大数和最小值所在的位置,并把二者对调,然后输出调整后的这批整数。

相关知识

定义数组的长度为100:
#define N 100

定义一个整型变量n来记录输入整数的个数,可以用循环语句输入数组元素:

int a[N],t,n=0;scanf("%d",&t);while(t!=0){    a[n]=t;    n++;    scanf("%d",&t);}

求数组的最大值,是不是很像打擂台呢?

max=a[0];pmax=0; //max存放最大值,pmax存放最大值下标

min=a[0];pmin=0; //min存放最小值,pmin存放最小值下标
for(i=1;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
pmax=i;
}
if(a[i]<min)
{
min=a[i];
pmin=i;
}
}
请大家思考,上述代码中,这两个变量max、min是否是多余的呢?

编程要求

根据提示,在右侧编辑器补充代码。

测试说明

平台会对你编写的代码进行测试:

测试输入:

21 47 37 69 2 8 76 50 9 41 0

预期输出:

最大值:76,下标:6
最小值:2,下标:4
21 47 37 69 76 8 2 50 9 41

开始你的任务吧,祝你成功!

#include
#define N 100int main(){
/********** Begin **********/ int a[N],max,min,maxnum=0,minnum=0,cnt=0; int i=0; scanf("%d",&a[i]); while(a[i]!=0){
i++; scanf("%d",&a[i]); } min=a[0]; max=a[0]; for(int j=0;j
max){
max=a[j]; maxnum=j; } if(a[j]

转载地址:http://lxnlf.baihongyu.com/

你可能感兴趣的文章
剑指offer 7.旋转数组的最小数字
查看>>
剑指offer 8-11.斐波那契数列 跳台阶 变态跳台阶 矩形覆盖
查看>>
剑指offer 12.二进制中1的个数
查看>>
剑指offer 13.数值的整数次方
查看>>
剑指offer 14.调整数组顺序使奇数位于偶数前面
查看>>
剑指offer 15.链表中倒数第k个节点
查看>>
剑指offer 16.反转链表
查看>>
剑指offer 17.合并两个排好序的链表
查看>>
剑指offer 18.树的子结构
查看>>
剑指offer 19.二叉树的镜像
查看>>
剑指offer 20.顺时针打印矩阵
查看>>
剑指offer 21.包含min函数的栈
查看>>
剑指offer 23.从上往下打印二叉树
查看>>
剑指offer 25.二叉树中和为某一值的路径
查看>>
剑指offer 26. 数组中出现次数超过一半的数字
查看>>
剑指offer 27.二叉树的深度
查看>>
剑指offer 29.字符串的排列
查看>>
剑指offer 31.最小的k个树
查看>>
剑指offer 32.整数中1出现的次数
查看>>
剑指offer 33.第一个只出现一次的字符
查看>>