练习7-2 求最大值及其下标 (20分) 本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。

本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。

输入格式:
输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。

输出格式:
在一行中输出最大值及最大值的最小下标,中间用一个空格分开。

输入样例:
6
2 8 10 1 9 10
输出样例:
10 2

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int a[n];
    for(int i=0;i<n;i++)
        scanf("%d",&a[i]);
    int m=a[0];
    for(int j=1;j<n;j++)
    {
        if(m<a[j])
            m=a[j];
    }
    for(int k=0;k<n;k++)
    {
        if(a[k]==m)
        {
            printf("%d %d",m,k);
            break;
        }
    }

    return 0;
}

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 可以使用一个变量来记录最大值,一个变量来记录最小下标。然后遍历这n个数,如果当前数比最大值大,就更新最大值最小下标。最后输出最大值最小下标即可。以下是示例代码: ```python n = int(input()) # 输入n个数 nums = list(map(int, input().split())) # 输入这n个数 max_num = nums[0] # 初始化最大值第一个数 min_index = 0 # 初始化最小下标为0 for i in range(1, n): if nums[i] > max_num: max_num = nums[i] # 更新最大值 min_index = i # 更新最小下标 print(max_num, min_index) # 输出最大值最小下标 ``` 注意,这里假设输入的n个数都是整数。如果输入的数可能是浮点数,需要修改代码数据类型。 ### 回答2: 题目要求我们编写一个程序,在给定的n个数找出最大值,并输出其对应最小下标。我们可以使用循环来遍历这n个数,逐个进行比较,找出最大值,并记录下其对应下标。 下面是一个实现的例子: ``` #include <iostream> using namespace std; int main() { int n, maxNum, minIndex; cin >> n; int arr[n]; // 声明一个大小为n的整型数组 for(int i=0; i<n; i++) { cin >> arr[i]; // 输入n个数 } maxNum = arr[0]; // 假设第一个值为最大值 minIndex = 0; // 假设第一个数的下标最小下标 // 遍历数组,逐个比较找出最大值 for(int i=1; i<n; i++) { if(arr[i] > maxNum) { maxNum = arr[i]; // 更新最大值 minIndex = i; // 更新最小下标 } } cout << "最大值为:" << maxNum << endl; cout << "最小下标为:" << minIndex << endl; return 0; } ``` 我们可以逐行解释上面的程序: 第1行:导入iostream库 第2行:使用命名空间std 第4行:定义变量n(表示输入的数的个数)、maxNum(表示最大值)和minIndex(表示最小下标) 第5行:从标准输入读入n的值 第7行:声明一个大小为n的整型数组,用来存放输入的n个数 第8~10行:使用for循环从标准输入依次读入n个数,并将它们存储到数组arr 第12行:将第一个数作为最大值 第13行:将第一个数的下标作为最小下标 第16~20行:使用for循环遍历数组的每一个数,逐个比较找出最大值,并记录下其对应最小下标 第22~23行:输出最大值最小下标,并换行 第25行:程序结束 总之,我们可以使用循环结构和数组来编写这个程序,实现在多个数找出最大值并输出最小下标的功能。 ### 回答3: 这道题需要编写一个程序来找出给定的n个数最大值及其对应最小下标,这里我们可以使用循环遍历的方法来解决问题。具体步骤如下: 1. 定义一个变量 max,用于存储最大值,初值设为第一个数; 2. 定义一个变量 min_index,用于存储最小下标,初值设为0; 3. 遍历这n个数,依次与 max 变量比较,如果该数比 max 变量大,则更新 max 变量,并将 min_index 变量赋值为当前的下标; 4. 遍历完毕后,返回 max 和 min_index 两个变量的值即为最大值以及其对应最小下标。 下面是具体实现代码: #include <iostream> using namespace std; int main() { int n, max, min_index; cin >> n; int arr[n]; // 输入数组元素 for(int i = 0; i < n; i++) cin >> arr[i]; // 初始化 max 和 min_index 变量 max = arr[0]; min_index = 0; // 遍历数组 for(int i = 1; i < n; i++) { if(arr[i] > max) { max = arr[i]; min_index = i; } } // 输出结果 cout << "最大值:" << max << endl; cout << "最小下标:" << min_index << endl; return 0; } 总之,本题需要使用循环遍历的方法来求解,应该对语言基础有一定的了解,能够熟练运用循环、数组等知识点。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值