9 条题解

  • 4
    @ 2023-7-15 15:21:21
    #include <iostream>
    #include <cmath>
    using namespace std;
    int a[105], n, sum;
    int maxn = -10000000;
    int main()
    {
        cin >> n;
        for (int i = 1; i <= n; i++)
        {
            cin >> a[i];
            maxn = max(maxn, a[i]);
        }
        for (int i = 1; i <= n; i++)
        {
            if (a[i] != maxn)
            {
                sum += a[i];
            }
        }
        cout << sum;
        return 0;
    }
    

    解析: 1.定义输入变量 n ,开个数组,定义 统计变量 sum。

    2.用 for 循环获取所有数字。

    3.给变量 max 赋初始值,再用 for 循环挨个比较数字大小,以获取最大值。

    4.又双叒叕用 for 循环挨个判断数字是否为最大数字,不是就累加到 sum 。

    5.输出。

    6.快点赞👍 👍 ,我才没有不想要点赞呢!

    • 2
      @ 2024-4-14 19:40:56
      #include<iostream>
      using namespace std;
      int main()
      {
          int n,a[100],sum=0;
          cin >> n;
          int max=0;
          for(int i=0;i<n;i++)
          {
              cin >> a[i];
              sum+=a[i];
              if (a[i]>=max)
              {
                  max=a[i];
              }
          }
          cout << sum-max;
          return 0;
      }
      
      • 2
        @ 2023-7-18 22:45:24

        压缩流,十行解决👀️ 有兴趣加入吗🎉️

        #include <iostream>
        int main(){
            int maxn=-1000001,sum=0,n,q[100];
            std::cin>>n;
            for(int i=0;i<n;i++){
                std::cin>>q[i];
                if(q[i]>maxn) maxn=q[i];}
            for(int i=0;i<n;i++) sum+=q[i];
            std::cout<<sum-maxn;
            return 0;}
        
        • @ 2024-6-8 18:16:01

          C++可以把main(){之后所有代码推到一行,像这样

          #include <iostream>
          int main(){int maxn=-1000001,sum=0,n,q[100];std::cin>>n;for(int i=0;i<n;i++){std::cin>>q[i];if(q[i]>maxn) maxn=q[i];}for(int i=0;i<n;i++) sum+=q[i];std::cout<<sum-maxn;return 0;}
          

          所以理论最短2行

      • 2
        @ 2023-7-11 23:50:21

        思路: 获取N以后创建一个长度为105的数组,用于存储这N个数,因为-100000<=每个数<-1000000,也就是说最小值为-1000000,那我们就将最大值先设为-1000000,然后遍历数组,更新最大值。

        算出最大值以后,再遍历一次,如果这个数与最大值不相等,那么加到求和用的变量中,最后输出

        //没学,但我还是来写了
        #include <iostream>
        #include <cmath>
        using namespace std;
        
        int main()
        {
            int n;
            cin >> n;
            int num[105];
            for(int i = 0;i < n;i++)
                cin >> num[i];
            int maxn = -1000000;
            for(int i = 0;i < n;i++)
                maxn = max(maxn,num[i]);
            int sum = 0;
            for(int i = 0;i < n;i++)
            {
                if (num[i] != maxn)
                    sum += num[i];
            }
            cout << sum;
            return 0;
        }
        
        • 0
          @ 2024-6-8 18:12:56
          t=input()#防止输入数据进入列表
          n=[int(i) for i in input().split()]
          maxn=max(n)
          sum=0
          for i in n:
              if i!=maxn:
                  sum+=i
          print(sum)
          
          • 0
            @ 2024-6-6 23:27:08

            算出大壁灯(maxn),累加不等于老邓的α【默认皮肤(i)】

            #include <iostream>
            #include <cmath>
            using namespace std;
            int a[105], n, sum;
            int maxn = -1000005;
            int main()
            {
                cin >> n;
                for (int i = 1; i <= n; i++)
                {
                    cin >> a[i];
                    maxn = max(maxn, a[i]);
                }
                for (int i = 1; i <= n; i++)
                {
                    if (a[i] != maxn)
                    {
                        sum += a[i];
                    }
                }
                cout << sum;
                return 0;
            }
            

            简单,点赞!

            • 0
              @ 2023-7-12 16:53:06
              #include<iostream>
              using namespace std;
              int main()
              {
                  int n,a[100],sum=0;
                  cin>>n;
                  for(int i=0;i<n;i++)
                  {
                      cin>>a[i];
                  }
                  int max=-99999999;//把max设为极低的数,求最大值
                  for(int i=0;i<n;i++)
                  {
                      if(a[i]>max)
                      {
                          max=a[i];
                      }
                  }
                  for(int i=0;i<n;i++)
                  {
                      if(a[i]!=max)
                      {
                          sum+=a[i];
                      }
                  }
                  cout<<sum;
              }
              

              最复杂代码,谁来挑战人脑编译😄

              • @ 2023-7-15 13:42:54

                我好像读懂了[doge]👀️

                1.定义输入变量 n ,开个数组,定义 统计变量 sum。

                2.因为i的初始值是1,所以不包后(不是 <= 而是 <),用 for 循环获取所有数字。

                3.给变量 max 赋初始值,再用 for 循环挨个比较数字大小,以获取最大值。

                4.又双叒叕用 for 循环挨个判断数字是否为最大数字,不是就累加到 sum 。

                5.输出。

            • 0
              @ 2023-7-11 14:58:11

              解析

              1. 算出最大值maxn
              2. 遍历数组,累加不等于maxn的a[i];

              易错点

              可能存在多个最大值,所以计算所有数字之和减去最大值的方法行不通。

              题解

              #include <iostream>
              #include <cmath>
              using namespace std;
              int a[105], n, sum;
              int maxn = -1000005;
              int main()
              {
                  cin >> n;
                  for (int i = 1; i <= n; i++)
                  {
                      cin >> a[i];
                      maxn = max(maxn, a[i]);
                  }
                  for (int i = 1; i <= n; i++)
                  {
                      if (a[i] != maxn)
                      {
                          sum += a[i];
                      }
                  }
                  cout << sum;
                  return 0;
              }
              
              • -2
                @ 2023-7-13 17:03:55
                #include <iostream>
                using namespace std;
                int a[100];
                int main()
                {
                    int n,maxn = 0,sum = 0;
                    cin >> n;
                    for (int i = 0;i < n;i++)
                    {
                      cin >> a[i];
                      if(a[i] > maxn)  maxn = a[i];        
                    }
                    for (int j = 0;j < n;j++)
                      if (a[j] < maxn)
                         sum += a[j];
                   cout << sum;
                   return 0; 
                }
                
                • 1

                不与最大数相同的数字之和

                信息

                ID
                285
                时间
                1000ms
                内存
                128MiB
                难度
                4
                标签
                递交数
                1550
                已通过
                726
                上传者