本文仅供本人学习及复习使用
【问题描述】输入一个正整数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;
}