请问这个应该如何实现

公元2900年,地球文明遭遇前所未有的困境
全球气候变暖,水资源短缺,能源衰竭都制约人类的持续发展
联合政府决定入侵"半人马座三星"
目前距离太阳系最近的行星系是“半人马座三星”,该行星系内有三颗恒星,其中比邻星距离我们最近只有4.22光年。
现在发现半人马星系的n个行星,并依次给出了每个行星的质量,注意行星的质量可能很大。
科学家想要研究这n颗行星是否适合人类居住,不过科学研究往往从最基本的分类数据来分析,现在科二学家需要统计如下数据:
第1大、第3大第n大行星的总质量,请你帮忙计算。
数据保障n是奇数
输入格式
第1行,一个整数n,表示有n个行星(n<1e4)
第2行,n个以空格分隔的数字(每个数字<1e19)
输出格式
一个数字,表示总质量
限制
空间限制:128MByte
时间限制:1秒
样例
输入
5
1 3 2 4 5
输出
9

就是计算最大值,最小值和第三大值。定义四个变量,分别表示第一、第二、第三和最小值。循环输入的时候逐个比较

#include <stdio.h>
int main()
{
    int n,i;
    long long max1,max2,max3,min,m;
    max1 = max2 = max3 = min = 0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%lld",&m);
        if(i==0)
        {
            max1 = m;
            min = m;
        }
        else
        {
            if(m>max1)
            {
                max3 = max2;
                max2 = max1;
                max1 = m;
            }
            else if(m>max2 && i>1)
            {
                max3 = max2;
                max2 = m;
            }
            else if(m>max3 && i>2)
                max3 = m;
            if(m < min)
                min = m;
        }
    }
    printf("%lld",max1+max3+min);
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632