C语言 输入10个数 找最大的2个值

程序我是参考https://blog.csdn.net/Code_beeps/article/details/82860979

#include<stdio.h>
int main()
{
int i = 0;
int arr[10] = {0};
int max = 0;
printf("请输入十个整数:\n");
for(i=0; i<10; i++)
{
scanf("%d",&arr[i]);
}
max = arr[0];
for(i=1; i<10; i++)
{
if(max < arr[i])
max = arr[i];
}
printf("最大值为%d\n",max);
return 0;
}
版权声明:本文为CSDN博主「coolnut12138」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Code_beeps/article/details/82860979

这只能找出一个最大值如果我要找两个最大值 应该怎么修改

#include<stdio.h>
int main()
{
    int i = 0;
    int arr[10] = {0};
    int max = 0;
    printf("请输入十个整数:\n");
    for(i=0; i<10; i++)
    {
        scanf("%d",&arr[i]);
    }
    max = arr[0];
    int pos=0,secmax=arr[0];
    for(i=1; i<10; i++)
    {
        if(max < arr[i])
        {
            max = arr[i];
            pos=i;
        }
    }
    if(pos>0)
        for(i=0; i<10; i++)
        {
            if(secmax < arr[i]&&i!=pos)
            {
                secmax = arr[i];
            }
        }
    else
    {
        secmax=arr[1];
        for(i=1; i<10; i++)
        {
            if(secmax < arr[i])
            {
                secmax = arr[i];
            }
        }
    }
    printf("最大的两个值为%d  %d\n",max,secmax);
    return 0;
}