C++输入一数组,找出数组中最小元素并输出,并且输出他的返回值



#include<iostream>
using namespace std;
int main()
{
    int arr[10];
    cout<<"请给数组赋值"<<endl;
    int i,min;
    for(i=0;i<10;i++)
    {cin>>arr[i];
    } 
    for(i=0;i<10;i++)
    {cout<<arr[i]<<" ";
    }
    cout<<endl;
    min=arr[0];
    for(i=1;i<=10;i++)
    {if(arr[i]<min)
        {min=arr[i];
        cout<<"最小值的下标为:"<<i<<endl;
        
        }
    }
    cout<<"最小值为:"<<min<<endl;
}

数组返回地址值时,有错误,但不知道哪里有错

代码有问题,需要提前获取min的值,而不是比较一次就输出一次,另外,最后一个for循环中,是for(i = 0; i <= 9; i++)

改正前:

img

改正后:

img


 
#include<iostream>
using namespace std;
int main()
{
    int arr[10];
    cout<<"请给数组赋值"<<endl;
    int i,min;
    for(i=0;i<10;i++)
    {cin>>arr[i];
    } 
    min=arr[0];
    for(i=0;i<10;i++)
    {cout<<arr[i]<<" ";
    if(arr[i]<min)
        {min=arr[i];}
    }
    cout<<endl;
    
    for(i=0;i<=9;i++)
    {if(arr[i] == min)
        {
        cout<<"最小值的下标为:"<<i<<endl;
        
        }
    }
    cout<<"最小值为:"<<min<<endl;
}