PTA 7-488 求最值和对应的下标位置
分数 20
作者 张江
单位 合肥师范学院
从键盘上输入10个不同的整数,编程计算并输出最大值、最小值及其所在元素的下标位置。
输入格式:
在一行中输入10个不同的整数,数据之间以空格隔开。
输出格式:
按照输出样例格式输出。
输入样例:
在这里给出一组输入。例如:
9 62 36 -2 15 73 28 40 52 10
输出样例:
在这里给出相应的输出。例如:
min=-2,minpos=3
max=73,maxpos=5
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
int main(){
int Numb[10];
int min, max; //记录最大值和最小值
int m=0, n=0; //记录元素下标
for(int i = 0; i < 10; i++){ //遍历数组
scanf("%d ", &Numb[i]);
}
min = Numb[0]; max = Numb[1]; //将数组的0和1个元素赋值给最大最小值作为初始值
min = min < max ? min : max; //最小值
max = max > min ? max : min; //最大值
for(int i = 2; i < 10; i++){ //循环数组内的数据寻找最大最小值
if(Numb[i] > max){ //最大值
max = Numb[i];
m = i; //元素下标
}else if(Numb[i] < min){ //最小值
min = Numb[i];
n = i; //元素下标
}
}
printf("min=%d,minpos=%d\nmax=%d,maxpos=%d\n", min, n, max, m); //按照要求输出
return 0;
}
解题思路:
将数组的0和1个元素赋值给min和max作为初始值并相互比较确定最大最小值;用m和n记录下最大和最小值再数组中的下标。最后按照要求输出
归属知识点:
数组
循环结构