合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻
一、题目描述 ⭐️
练习7-2 求最大值及其下标
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。
输入格式:
输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。
输出格式:
在一行中输出最大值及最大值的最小下标,中间用一个空格分开。
输入样例:
6
2 8 10 1 9 10
输出样例:
10 2
二、代码(C语言)⭐️
#include <stdio.h> // 引入标准输入输出库,用于使用 scanf 和 printf 函数
int main() {
int n; // 定义一个整型变量 n,用于存储数组的长度
scanf("%d", &n); // 从输入读取数组的长度 n
int numArr[n]; // 定义一个长度为 n 的整型数组 numArr,用于存储输入的数字
// 读取第一个数字并初始化最大值和索引
scanf("%d", &numArr[0]); // 读取第一个数字并存储到 numArr[0]
int max = numArr[0]; // 初始化最大值为第一个数字
int index = 0; // 初始化最大值对应的索引为 0
// 遍历数组,读取剩余的数字并更新最大值
for (int i = 1; i < n; i++) { // 从第二个数字开始遍历
scanf("%d", &numArr[i]); // 读取当前数字并存储到 numArr[i]
if (numArr[i] > max) { // 如果当前数字大于最大值
max = numArr[i]; // 更新最大值
}
}
// 遍历数组,找到最大值第一次出现的索引
for (int i = 0; i < n; i++) { // 遍历整个数组
if (numArr[i] == max) { // 如果当前数字等于最大值
index = i; // 更新最大值对应的索引
break; // 找到后立即退出循环
}
}
// 输出最大值及其索引
printf("%d %d", max, index);
return 0; // 程序正常结束
}