用c语言进行编程,多点解析

编程实现,从键盘输入十个整数,保存到数组中,然后从中找出最大的数输出,并将数组的所有元素按照顺序输出。这道题怎么做求大佬解析


#include <stdio.h>
void select_sort(int arr[],int n);
int main()
{
    int i = 0;
    int arr[10];
    for(i=0;i<10;i++)
    {
        scanf("%d",&arr[i]);
    }
    select_sort(arr,10);
    printf("max = %d\n",arr[9]);
    //打印排好顺序的数组
    for(i=0;i<10;i++)
    {
        printf("%d  ",arr[i]);
    }
    printf("\n");
    return 0;
}

void select_sort(int arr[],int n)
{
    int i,j,k,tmp;
    for(i=0;i<n-1;i++)        //n个元素需要排n-1趟
    {
        k = i;               //确定一个最小值的下标
        for(j=i+1;j<n;j++)   //最小的与后面的相比,故j从i+1开始;循环比较到最后一位,故j<n
        {
            if(arr[k]>arr[j]) //若当前的最小值大于后面的
            {
                k = j;       //重新确定最小值的下标
            }
        }
        if(k != i)
        {
            tmp = arr[k];
            arr[k] = arr[i];
            arr[i] = tmp;
        }
    }
}