使用一维数组输出最小值及其最大下标

本文仅供本人学习及复习使用

【问题描述】输入一个正整数n(1<n<10),再输入n个整数,输出最小值及其对应的最大下标(下标从0开始)。试编写程序。

【输入形式】输入一个正整数n(1<n<10),再输入n个整数(两个数之间空一格)

【输出形式】输出最小值及其对应的下标

【样例输入】5

                    12 2 5 8 2

【样例输出】min=a[4]=2

 

#include <iostream>

using namespace std;
#define N 100000              //请一定弄清楚数组是如何设置的

int main()
{
    int n,i,t,j;
    cin>>n;
    int a[n];
    int a1[n];
    int a3[n];
    for(i=0;i<n;i++)
    {
        cin>>a[i];
    }
        for(i=0;i<n;i++)
    {

            a1[i]=a[i];         //将值赋给另一个数组
    }
    for(i=0;i<n-1;i++)          //冒泡排序   
    {
          for( j=0;j<n-1-i;j++)
          {
              if(a1[j]>a1[j+1])
            {
                t=a1[j];a1[j]=a1[j+1];a1[j+1]=t;  //在新的数组里面排序,找出最小值

            }
          }

    }
    int min=a1[0];                              //找出最小值
    int max=0;
    for(i=1;i<n;i++)
    {
            if( min==a[i])

            max=i;                            //此时max的值是会不断更新的
    }
           cout << "min="<<"a["<<max<<"]"<<"="<<min<<endl ;  
                                             //一定要特别注意cout的位置放在for里面还是外边

    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值