能帮我看一下这个题目吗

从控制台依次读入序列(1,22,31,2,11,0,9,8,19),保存到数组中,求该序列的最大值和最小值及其位置并输出。

#include <stdio.h>
#include <stdlib.h>
#define SIZE 10
int arr[SIZE],max,min,maxpos=1,minpos=1;
//获取数组中最大值,最小值,及其位置
void max_min_pos(int *str){
    int i=1;
    max=min=*str;
    while(i<SIZE){
        if(*(str+i)>max){
            max = *(str+i);
            maxpos = i+1;
        }
        if(*(str+i)<min){
                    min = *(str+i);
                    minpos = i+1;
                }
        i++;
    }
}
int main() {
    int i;
    printf("请输入一个数组\n");
    for(i=0;i<SIZE;i++){
        scanf("%d",&arr[i]);
    }
    max_min_pos(arr);
    printf("最大值是%d在数组的第%d位\n最小值是%d在数组的第%d位\n",max,maxpos,min,minpos);
    system("pause");
    return EXIT_SUCCESS;
}
#include <stdio.h>
int main()
{
    int n;
    int maxv = 0,minv = 0;
    int maxindex=0,minindex = 0;
    int i;
    for(i = 0;i<9;i++)
    {
        scanf("%d",&n);
        if(i == 0)
        {
            maxv = n;
            minv = n;
        }else
        {
            if(maxv < n)
            {
                maxv = n;
                maxindex = i;
            }
            if(minv > n)
            {
                minv = n;
                minindex = i;
            }
        }
    }
    printf("max = %d,maxindex = %d,min=%d,minindex = %d",maxv,maxindex,minv,minindex);
    return 0;
}