28 条题解

  • 39
    @ 2022-8-10 21:33:27

    兄弟们,我又又又又来写题了奥! 今天这题有点意思,我写了比较长的一个代码,请大家见谅,我也总结出了几点大家要掌握的

    1. 这个变量要用数组来存放
    2. 最后算出的平均值要用多位小数点型 double 来存放
    3. 记住,有几个苹果最小就删掉几个,还要用变量 s 来存放总共记载的苹果数量
    4. 最后的输出格式可以参考 Level 3 【入门】已知一个圆的半径,求解该圆的面积和周长这题我的题解保留小数位数即可。

    闲话不多说(都说了这么多了),上代码 😄 ~

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n, s = 0, a[1000], min = 99999;
        double sum = 0;
        cin >> n;
        for (int i=1;i<=n;i++)
        {
            cin >> a[i];
            if (min > a[i]) min = a[i];
        }
        for (int i=1;i<=n;i++)
        {
            if (a[i] != min)
            {
                sum += a[i];
                s += 1;
            }
        }
        printf("%.1lf", sum / s);
        return 0;
    }
    
    • 22
      @ 2022-2-26 20:07:15
      
      思路就是首先求出最小值
      
      求出以后求和的时候只求大于最小值的
      
      并且还要统计对应的个数
      
      最后求平均值即可
      
      	double n,a[105],sum=0,minn=10000,ans;//求最小值的时候初始设立一个极大值
      	cin>>n;
      	for(int i=0;i<n;i++)
      	{
      		cin>>a[i];
      		if(a[i]<=minn)
      		{
      			minn=a[i];//如果a[i]<=minn,说明a[i]可以当最小值,此时更新minn
      			//循环结束后就可以找到最小的那个a[i]并赋值给minn方便我们使用 
      		}
      	} 
      	for(int i=0;i<n;i++)
      	{
      		if(a[i]>minn)
      		{
      			sum+=a[i];//求和的时候不包括那些最小值 
      			ans++;//统计大于最小值的苹果个数 
      		}
      	}
      	cout<<fixed<<setprecision(1)<<sum/ans;
      
      • @ 2022-2-26 20:09:23

        这里由于本题数据较小,因此Minn初始设置了1万 一般具体的设定要根据题目数据来看 如果苹果重量最大是1百万我们就比最大的还得再大 这样才行 C++极大值,0x3f3f3f3f(该16进制数一般充当极大值用) int minn=0x3f3f3f3f,大约是10来亿

      • @ 2022-9-16 21:16:34

        找最小值用排序不是很好嘛?


        桶排序:

        #include<iostream>
        #include<cstdio>
        using namespace std;
        int book[1001],n,i,j,t;
        int main()
        {
            cin>>n;
            for(i=1;i<=n;i++)
            {
                cin>>t;
                a[t]++;
            }
            for(i=1;i<=n;i++)
                for(j=1;j<=a[i];j++)
                    printf("%d ",a[j]);
            return 0;
        

        冒泡排序:

        int n,i,j,t;
        cin>>n;
        int a[n+1];
        for(i=1;i<=n;i++)
            cin>>a[i];
        for(i=1;i<=n-1;i++)
            for(j=1;j<=n-i;j++)
                if(a[j]>a[j+1])
                    {t=a[j]; a[j]=a[j+1]; a[j+1]=t;}
        
      • @ 2023-7-22 9:02:18

        @请用sort

      • @ 2023-7-22 9:11:25

        @ sort和桶排不可以用double

    • 10
      @ 2023-2-13 21:01:08

      上代码!!!

      #include <bits/stdc++.h>
      using namespace std;
      int main(){
          int n,a[99],minn = 99999999,minnnum = 0,sum = 0;
          cin >> n;
          for(int i = 1;i <= n;i++){
              cin >> a[i];
              minn = min(minn,a[i]);
          }
          for(int i = 1;i <= n;i++){
              if(a[i] != minn){
                  minnnum++;
                  sum += a[i];
              }
          }
          
          cout << fixed << setprecision(1) << sum*1.0 / minnnum;
          return 0;
      }
      

      先点赞,再抱走哦

      • 9
        @ 2023-11-12 14:49:41

        这一道题说实话挺简单的,请看题解(已AC,请放心食用😏)

        #include <iostream>
        #include <iomanip>
        using namespace std;
        int main()
        {
            int n, a[10000], minn = 1145114;
            double sum = 0;
            cin >> n;
            int num = n;
            for (int i = 0; i < n; i++)
            {
                cin >> a[i];
                sum += a[i];
                if (a[i] < minn)
                {
                    minn = a[i];
                }
            }
            for (int i = 0; i < n; i++)
            {
                if (a[i] == minn)
                {
                    sum -= a[i];
                    num -= 1;
                }
            }
            double avg = sum / num;
            cout << fixed << setprecision(1) << avg << endl;
            return 0;
        }
        

        哎,先别走,制作不易,点个赞再走呗😎

        image

        如果你已经点上了赞,我要先跟你说一声“谢谢”,然后再说一声“再见”! ヾ( ̄▽ ̄)Bye~ Bye~

        • @ 2023-11-17 18:15:02

          你这数字多少有点臭啊(恼)

      • 4
        @ 2023-11-19 19:42:17
        #include<iostream>
        using namespace std;
        int main(){
        	int n;
        	double a=0;
        	int h=0;
        	cin>>n;
        	int m[99999];
        	int p=999999;
        	for(int i=1;i<=n;i++){
        		cin>>m[i];
        		if(m[i]<p){
        			p=m[i];
        		}
        	}
        	for(int i=1;i<=n;i++){
        		if(m[i]>p){
        			a+=m[i];
        			h++;
        		}
        	}
        	printf("%.1lf",a/h);
        	return 0;
        }
        
        • 2
          @ 2023-10-22 20:59:36
          #include<bits/stdc++.h>
          using namespace std;
          int main()
          {
              int b[23455],k=234541,sum=0,m=0;
              double a,n;
              cin>>a;
              for(int i=1;i<=a;i++)
              {
                  cin>>b[i];
              }
              for(int i=1;i<=a;i++)
              {
                  if(b[i]<k)
                  {
                      k=b[i];
                  }
              }
              for(int i=1;i<=a;i++)
              {
                  if(b[i]==k)
                  {
                      m+=1;
                  }
                  else
                  {
                      sum+=b[i];
                  }
              }
              n=sum/(a-m);
              cout<<fixed<<setprecision(1)<<n;
              return 0;
          }
          
          • 2
            @ 2023-8-23 11:34:24

            #include <bits/stdc++.h>

            using namespace std;

            int main()

            {

            int n, s = 0, a[1000], min = 99999;

            double sum = 0;

            cin >> n;

            for (int i=1;i<=n;i++)

            {

            cin >> a[i];

            if (min > a[i]) min = a[i];

            }

            for (int i=1;i<=n;i++)

            {

            if (a[i] != min)

            {

            sum += a[i];

            s += 1;

            }

            }

            printf("%.1lf", sum / s);

            return 0;

            }

            点个赞吧!已AC✔~ 可复制❄~

            • 2
              @ 2023-8-3 20:00:41
              #include <bits/stdc++.h>
              using namespace std;
              int main()
              {
                  int n, s = 0, a[1000], min = 99999;
                  double sum = 0;
                  cin >> n;
                  for (int i=1;i<=n;i++)
                  {
                      cin >> a[i];
                      if (min > a[i]) min = a[i];
                  }
                  for (int i=1;i<=n;i++)
                  {
                      if (a[i] != min)
                      {
                          sum += a[i];
                          s += 1;
                      }
                  }
                  printf("%.1lf", sum / s);
                  return 0;
              }
              你干嘛哈哈诶有!
              
              • 2
                @ 2023-5-2 17:53:11

                对我来说,好像有那么亿点难

                #include <bits/stdc++.h>
                using namespace std;
                int main()
                {
                int n, s = 0, a[1000], min = 99999;
                double sum = 0;
                cin >> n;
                    for (int i=1;i<=n;i++){
                        cin >> a[i];
                        if (min > a[i]) min = a[i];
                    }
                    for (int i=1;i<=n;i++){
                        if (a[i] != min)
                    {
                    sum += a[i];
                    s += 1;
                    }
                    }
                printf("%.1lf", sum / s);
                return 0;
                }
                

                求赞❤️

                • 2
                  @ 2023-3-13 21:06:53
                  #include <bits/stdc++.h>
                  using namespace std;
                  int main()
                  {
                      
                      
                      int a[105],b = 10000,sum = 0,n,c,num = 0;
                      cin >> n;
                      
                      
                      for (int i = 1;i <= n;i++)
                      {
                          cin >> c;
                          a[i] = c;
                          if (a[i] <= b)
                          {
                              b = a[i];
                          }  
                      }
                      
                      
                      
                      for (int i = 1;i<= n;i++)
                      {
                          if (a[i] != b)
                          {
                              sum += a[i];
                              num += 1;
                          } 
                      }
                      
                      double suum = sum*1.0/num;
                      cout << fixed << setprecision(1) << suum;
                   }
                  题解来喽
                  注意要万能文件头
                  我用iost......搞了半天
                  坑死了(iostream没有取浮点数命令)
                  
                  
                  
                  • @ 2023-4-29 19:02:31

                    不需要万能头,加一个

                    #include<iomanip>
                    

                    就好了

                  • @ 2024-2-23 9:36:46

                    这个是啥?@

                • 2
                  @ 2022-9-3 11:18:01
                  🎉️ 🎉️ 🎉️ 最简代码!!!!!!!!!!!!!!!!!!
                  #include<bits/stdc++.h>
                  using namespace std;
                  int main(){
                  	float pjs;
                  	int a[10000], n, sum=0, zx=1000000;
                  	cin >> n;
                  	for (int i = 0;i < n;i++){
                  		cin >> a[i];
                  		sum+=a[i];
                  		if (a[i] < zx){
                  			zx = a[i];
                  		}		
                  	}
                  	for (int i = 0;i < n;i++){
                  		if (a[i] == zx){
                  			sum-=a[i];
                  		}
                  	}
                  	pjs=sum / n;
                  	printf("%0.1f", pjs);
                  	return 0;
                  }
                  
                • 1
                  @ 2024-5-2 20:26:30

                  ```cpp

                  #include<iostream>
                  #include <algorithm>
                  using namespace std;
                  int main()
                  {
                      int n;
                      double a[1000],num = 0.0 ,minn = 0.0,gan = 0,aa = 0;
                      cin >> n;
                      for(int i = 1;i <= n;i++)
                      {
                          cin >> a[i];
                      }
                      sort(a+1,a+n+1);
                      minn = a[1];
                      for(int i = 1;i <= n;i++)
                      {
                          if(a[i] == minn)
                          {
                              continue;
                          }
                          num+= a[i];
                          gan++;
                      }
                      aa = num / gan;
                      printf("%.1f", aa);
                  }
                  

                  ```

                  </span>
                  • 1
                    @ 2024-2-23 9:35:51

                    这个题很简单 `

                    #include <bits/stdc++.h>
                    using namespace std;
                    int main()
                    {
                        int n,min=100000000000000,b=0;//b是min的个数
                        cin>>n;
                        double sum=0,p;//p是平均值
                        int a[n];//a[n]是n个苹果各自的重量
                        for(int i=0;i<n;i++)
                        {
                            cin>>a[i];
                        }
                        for(int i=0;i<n;i++)
                        {
                            sum+=a[i];
                            if(a[i]<min)
                            {
                                min=a[i];
                            }
                        }
                        for(int i=0;i<n;i++)
                        {
                            if(a[i]==min)
                            {
                                b++;
                            }
                        }
                        if(b==0)
                        {
                            b++;
                        }//b还是0的话就加1
                        sum-=min*b;
                        p=sum/(n-b)*1.00;
                        cout<<fixed<<setprecision(1)<<p;//精确输出小数
                        return 0;
                    }
                    

                    看完点赞👍

                    • 1
                      @ 2023-12-4 18:08:36

                      #include <bits/stdc++.h> using namespace std; int main(){ int n,a[99],minn = 99999999,minnnum = 0,sum = 0; cin >> n; for(int i = 1;i <= n;i++){ cin >> a[i]; minn = min(minn,a[i]); } for(int i = 1;i <= n;i++){ if(a[i] != minn){ minnnum++; sum += a[i]; } }

                      cout << fixed << setprecision(1) << sum*1.0 / minnnum;
                      return 0;//1:求最小值2:求和3:统计4:平均```
                      

                      }//学会最重要,不用点赞,不准抄袭

                      • 1
                        @ 2022-5-23 14:24:01

                        1.先找出最小值

                        if(a[i]<=minn)//minn代表最小值
                        {
                        	minn=a[i];
                            //如果a[i]<=minn,说明a[i]可以当最小值,此时更新minn
                        	//循环结束后就可以找到最小的那个a[i]并保存在minn方便我们使用 
                        }
                        

                        2.去掉最小值,进行求和,并统计相应的个数

                        for(int i=0;i<n;i++)//遍历所有苹果
                        	{
                        		if(a[i]>minn)//找出大于最小值的
                        		{
                        			sum+=a[i];//求和的时候不包括那些最小值 
                        			ans++;//统计大于最小值的苹果个数 
                        		}
                        	}
                        

                        3.求平均值,记得保留一位小数

                        cout<<fixed<<setprecision(1)<<sum/ans;
                        //注意如果之前定义的int类型,就需要给算出来的结果*1.0,如果是double就不需要
                        
                        • 1
                          @ 2022-4-24 15:52:25

                          鼓励大家写题解,但注意题解格式。

                          给代码两端加上这个会舒服一些

                          ```cpp

                          你的代码

                          ```

                          </span>

                          这个点在键盘的左上角tab上面那个键,注意切换输入法

                          #include<iostream>
                          using namespace std;
                          int main()
                          {
                              int n;
                              cin>>n;//这是一个注释
                              return 0;
                          } 
                          

                          请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

                          抄袭题解一经发现直接取消成绩。

                        • 0
                          @ 2023-7-22 9:11:56
                          #include <cstdio>
                          #include <algorithm>
                          using namespace std;
                          double n,t,a[105],minn=100000,sum=0;
                          int main(){
                              scanf("%lf",&n);
                              for(int i=0;i<n;i++){
                                  scanf("%lf",&a[i]);
                                  minn=min(minn,a[i]);
                              }
                              for(int i=0;i<n;i++)if(a[i]>minn)sum+=a[i],t++;
                              printf("%.1f\n",sum/t);
                              return 0;
                          }
                          
                          • 0
                            @ 2023-7-18 17:25:15

                            #include <bits/stdc++.h> using namespace std; int main() { int n, s = 0, a[1000], min = 99999; double sum = 0; cin >> n; for (int i=1;i<=n;i++) { cin >> a[i]; if (min > a[i]) min = a[i]; } for (int i=1;i<=n;i++) { if (a[i] != min) { sum += a[i]; s += 1; } } printf("%.1lf", sum / s); return 0; }

                            • 0
                              @ 2023-5-14 21:24:02
                              #include <bits/stdc++.h> 
                              using namespace std;
                              int main()
                              {
                                  int n,a[100],x,y = 0;
                                  double sum = 0;
                                  cin >> n;
                                  for (int i = 0;i < n; i ++)
                                  {
                                      cin >> a[i];
                                  }
                                  x = (*min_element(a,a+n));//cpp自带取最小值的函数,(a,a+n)是范围
                                  for (int i = 0; i < n; i ++)
                                  {
                                      if (a[i] != x)
                                      {
                                          sum += a[i];
                                          y ++;
                                      }
                                  }
                                  cout << fixed << setprecision(1) << sum / y;
                                  return 0;
                              }
                              
                              • -1
                                @ 2023-9-30 15:57:58
                                
                                

                                信息

                                ID
                                218
                                时间
                                1000ms
                                内存
                                16MiB
                                难度
                                6
                                标签
                                递交数
                                5454
                                已通过
                                1682
                                上传者