28 条题解

  • 37
    @ 2022-8-21 10:29:02

    这道题AC的人还是不多,其实思路蛮简单的,来看看吧


    1.输入xyz,找出最大数和最小数

    2.输出xyz的和

    3.保留一位小数,输出平均数(注意要导入cstdio库以使用printf)


    养成好习惯,看代码前点个赞^o^

    #include<iostream>
    #include<cstdio>
    using namespace std;
    int main(){
    	int x,y,z,max=0,min=10000000,sum;
    	double ans;//平均数要存储为double类型
    	cin>>x>>y>>z;
    	if(x>max) max=x;
    	if(x<min) min=x;
    	if(y>max) max=y;
    	if(y<min) min=y;
    	if(z>max) max=z;
    	if(z<min) min=z;
    	cout<<min+max<<endl;
    	ans=(min+max)/2.0;
    	printf("%.1f",ans);//保留一位小数 
    	return 0;
    }
    
    • 23
      @ 2022-8-12 21:33:41

      这题的话我提供两种做法哈,大家可以借鉴一下,但是我更希望你们用第二种(根据题意嘛,分支结构)


      方法①

      1. 用 for 循环输入三个数,存储在数组 a 中(4个元素,因为可以设 i 为 1 )
      2. 在 for 循环里判断出 max 和 min 的值(最大值&最小值)
      3. 输出 max + min(最大值 + 最小值)
      4. 输出 ( max + min ) / 2 ((最大值 + 最小值) / 2)
      5. 注意!a、max、min 都要用 double 型的变量来存储~

      方法① 代码如下

      #include <bits/stdc++.h>
      using namespace std;
      int main()
      {
          double a[4], max = 0, min = 99999;
          for (int i=1;i<=3;i++)
          {
              cin >> a[i];
              if (max < a[i]) max = a[i];
              if (min > a[i]) min = a[i];
          }
          cout << max + min << endl;
          printf("%.1lf", (max + min) / 2);
          return 0;
      }
      

      方法②

      1. 用 double 形式存储 x , y , z 然后以此判断几种情况
      2. ①:x + y(输出同方法①)
      3. ②:x + z(输出同方法①)
      4. ③:y + z(输出同方法①)

      方法② 代码如下(强烈推荐)

      #include <bits/stdc++.h>
      using namespace std;
      int main()
      {
          double x, y, z;
          cin >> x >> y >> z;
          if (x > y && y > z || z > y && y > x) cout << x + z << endl << fixed << setprecision(1) << (x + z) / 2;
          if (x > z && z > y || y > z && z > x) cout << x + y << endl << fixed << setprecision(1) << (x + y) / 2;
          if (y > x && x > z || z > x && x > y) cout << y + z << endl << fixed << setprecision(1) << (z + y) / 2;
          return 0;
      }
      
      • 11
        @ 2023-11-13 8:44:13

        这道题可以不用数组,但用数组更方便,此题解百分百AC,请放心食用( •̀ ω •́ )✧:

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

        题解已经观看,不如点个赞赞

        点个赞吧,谢谢😎

        image

        • 9
          @ 2022-12-25 13:40:41

          用函数,不迷路!

          #include <bits/stdc++.h>
          using namespace std;
          int main()
          {
          	int a[3];
          	cin >> a[0] >> a[1] >> a[2];
          	sort(a, a + 3);
          	cout << a[0] + a[2] << endl;
          	cout << fixed << setprecision(1) << (a[0] + a[2]) / 2.0;
              return 0;
          }
          
          • 3
            @ 2023-11-21 20:43:10
            #include<bits/stdc++.h>
            using namespace std;
            int main(){
            	int a[99];
            	cin>>a[1]>>a[2]>>a[3];
            	sort(a+1,a+4);
            	double m=a[1]+a[3];
            	cout<<m<<endl;
            	printf("%.1lf",m/2);
            	return 0;
            }
            
            • 3
              @ 2023-8-3 21:09:24

              简单易懂的新手做法出炉啦 来看看吧🚀️

              #include <bits/stdc++.h>
              using namespace std;
              int main()
              {
                  double a[3] , max = 0 , min =23456 , s;
                  for (int i = 0; i < 3; i++)
                  {
                      cin >> a[i];
                      if (a[i] > max) max = a[i];//最大值
                      if (a[i] < min) min = a[i];//最小值
                  }
                  s = max + min;//总共花的钱
                  cout << s << endl;
                  printf("%.1f",s / 2);//平均值
                  return 0;
              }
              

              观众老爷们 看懂就点个赞吧

              • 2
                @ 2023-7-22 13:08:35

                学过sort和printf或setprecision的肯定对

                #include <cstdio>
                #include <algorithm>
                using namespace std;
                int main(){
                    int a[3];
                    scanf("%d%d%d",&a[0],&a[1],&a[2]);
                    sort(a,a+3);
                    printf("%d\n%.1f\n",(a[0]+a[2]),1.0*(a[0]+a[2])/2);
                    return 0;
                }
                
                
                • 2
                  @ 2023-3-29 20:13:04
                  #include<bits/stdc++.h>
                  using namespace std;
                  int main()
                  {
                      double x,y,z,n;
                      cin>>x>>y>>z;
                      int ans=max(max(x,y),z)+min(min(x,y),z);
                      n=ans/2.0;
                      cout<<ans<<'\n';
                      printf("%.1f",n);
                      return 0;
                  }
                  
                  • 2
                    @ 2023-3-12 17:15:58
                    #include<bits/stdc++.h>
                    using namespace std;
                    int main(){
                        int x[5];
                        cin>>x[1]>>x[2]>>x[3];
                        sort(x+1,x+4);
                        cout<<x[1]+x[3]<<endl;
                        cout<<fixed<<setprecision(1)<<(x[1]+x[3]*1.0)/2;
                    }
                    
                    • 2
                      @ 2023-2-19 9:29:28
                      #include <bits/stdc++.h> 
                      using namespace std;
                      int main()
                      {
                          double q[10],w,e;
                          cin>>q[1]>>q[2]>>q[3];
                          if(q[1]>q[2]&&q[1]>q[3])
                          {
                              w=q[1];
                          }
                          else if(q[2]>q[1]&&q[2]>q[3])
                          {
                              w=q[2];
                          }
                          else
                          {
                              w=q[3];
                          }
                          if(q[1]<q[2]&&q[1]<q[3])
                          {
                              e=q[1];
                          }
                          else if(q[2]<q[1]&&q[2]<q[3])
                          {
                              e=q[2];
                          }
                          else
                          {
                              e=q[3];
                          }
                          cout<<w+e<<endl;
                          cout<<fixed<<setprecision(1)<<(w+e)/2;
                          return 0;
                      }
                      
                      
                      • 1
                        @ 2024-2-23 16:08:39

                        注:我爱用万能头文件。

                        #include <bits/stdc++.h>
                        using namespace std;
                        int main()
                        {
                            double sum=0,x,y,z,p;
                            cin>>x>>y>>z;
                            if((x>y && x>z) || (x<y && x<z))
                            {
                                sum+=x;
                            }
                            if((y>x && y>z) || (y<x && y<z))
                            {
                                sum+=y;
                            }
                            if((z>y && z>x) || (z<y && z<x))
                            {
                                sum+=z;
                            }
                            cout<<sum<<endl;
                            p=sum/2;
                            cout<<fixed<<setprecision(1)<<p;
                            return 0;
                        }
                        
                        • 1
                          @ 2024-2-5 12:09:16
                          #include <bits/stdc++.h>
                          using namespace std;
                          int main()
                          {
                              double a[4], max = 0, min = 99999;
                              for (int i=1;i<=3;i++)
                              {
                                  cin >> a[i];
                                  if (max < a[i]) max = a[i];
                                  if (min > a[i]) min = a[i];
                              }
                              cout << max + min << endl;
                              printf("%.1lf", (max + min) / 2);
                              return 0;
                          }
                          
                          • 1
                            @ 2023-8-23 20:04:11
                            #include <iostream>
                            #include <stdio.h>
                            using namespace std;
                            int main()
                            {
                            double x, min = 99999.0, max = 0.0;
                            for (int i = 0;i < 3;i++)
                            {
                            cin >> x;
                            if (x < min)
                            {
                            min = x;
                            }
                            if (x > max)
                            {
                            max = x;
                            }
                            }
                            cout << min + max << endl;
                            printf("%.1f",(min + max) / 2); //唯一一处我被迫用C语言的地方,用于保留一位小数
                            return 0;
                            }
                            

                            C语言和C++的混合应用,对于某些八年级上完并且攻不破此题的同志应该有些用处,欢迎参考~

                            • 1
                              @ 2023-8-15 13:01:34
                              #include<bits/stdc++.h>
                              using namespace std;
                              int main(){
                                  int x[5];
                                  cin>>x[1]>>x[2]>>x[3];
                                  sort(x+1,x+4);
                                  cout<<x[1]+x[3]<<endl;
                                  cout<<fixed<<setprecision(1)<<(x[1]+x[3]*1.0)/2;
                              }//依旧两种写法
                              
                              
                              

                              #include<bits/stdc++.h> using namespace std; int main() { double x,y,z,n; cin>>x>>y>>z; int ans=max(max(x,y),z)+min(min(x,y),z); n=ans/2.0; cout<<ans<<'\n'; printf("%.1f",n); return 0; } //两种方法都赞成 //老规矩不用❤️ 😄 //均以AC,0.0s过

                              
                              
                              • 1
                                @ 2023-8-7 13:32:43

                                我很少写题解,这道题比较部分还有点意思,就是觉得我的好像有点复杂了


                                有可能我对大括号情有独钟

                                #include <iostream>
                                #include <cstdio>
                                using namespace std;
                                int main()
                                {
                                    int z,y,x,maxn,minn;
                                    cin >> x >> y >> z;
                                    if (x > y)
                                    {
                                        if(x >z)
                                        {
                                            maxn =x;
                                            if(y < z)
                                            {
                                                minn = y;
                                            }
                                            else
                                            {
                                                minn = z;
                                            }
                                        }
                                        else
                                        {
                                            maxn = z;
                                            minn = y;
                                        }  
                                    }
                                    else
                                    {
                                        if(y >z)
                                        {
                                            maxn =y;
                                            if(x < z)
                                            {
                                                minn = x;
                                            }
                                            else
                                            {
                                                minn = z;
                                            }
                                        }
                                        else
                                        {
                                            maxn = z;
                                            minn = x;
                                        }
                                    }
                                    cout << maxn + minn << endl;
                                    double ab;
                                    ab =  (maxn + minn)*1.0/2;
                                    printf("%.1f",ab);   
                                }
                                
                              • 1
                                @ 2023-8-5 21:15:53

                                全网最“短”代码👀️,已AC

                                #include <bits/stdc++.h> 
                                using namespace std;
                                int main(){int x, y, z, a, b;cin >> x >> y >> z;if (x > y && x > z){a=x;}if (y > x && y > z){a=y;}if (z > x && z > y){a=z;}if (x < y && x < z){b=x;}if (y < x && y < z){b=y;}if (z < x && z < y){b=z;}cout<<a+b<<endl<<fixed<<setprecision(1)<<(float)(a+b)/2;return 0;}
                                
                                • @ 2023-8-9 14:10:23

                                  只会挤到一行有什么用,减代码呀。

                              • 1
                                @ 2023-8-4 21:55:21
                                #include <iostream>
                                #include <cstdio>
                                using namespace std;
                                int main()
                                {
                                    int x,y,z,a,b;
                                    cin>>x>>y>>z;
                                    a=max(x,max(y,z));
                                    b=min(x,min(y,z));
                                    printf("%d\n%.1f",a+b,(a+b)*1.0/2);
                                    return 0;
                                }
                                
                                • 1
                                  @ 2023-7-5 14:37:13

                                  最短的AC代码:

                                  #include <bits/stdc++.h>
                                  using namespace std;
                                  double x, y, z;
                                  int main()
                                  {
                                      cin >> x >> y >> z;
                                      cout<<max(max(x, y), z) + min(min(x, y), z)<<endl<<setprecision(1)<<fixed<<(max(max(x, y), z) + min(min(x, y), z)) / 2;
                                      return 0;
                                  }
                                  
                                  • 1
                                    @ 2022-12-29 20:31:43

                                    记得要用函数 #include <bits/stdc++.h> using namespace std; int main() { int x, y, z; double max=0, min=1000000; cin >> x >> y >> z; if (x>max) { max=x; } if (x<min) { min= x; } if (y>max) { max=y; } if (y<min) { min= y; } if (z>max) { max=z; } if (z<min) { min= z; } cout << max+min << '\n'; cout << fixed << setprecision(1)<< ((max+min)/2); return 0; }

                                    • 1
                                      @ 2022-9-10 17:56:42
                                      #include <bits/stdc++.h>
                                      using namespace std;
                                      int main()
                                      {
                                      double x, y, z;
                                      cin>>x>>y>>z;
                                      cout<<max(max(x,y),z)+min(min(x,y),z)<<endl<<fixed<<setprecision(1)<<(max(max(x,y),z)+min(min(x,y),z))/2;
                                      return 0;
                                      }
                                      
                                      

                                      信息

                                      ID
                                      716
                                      时间
                                      1000ms
                                      内存
                                      128MiB
                                      难度
                                      5
                                      标签
                                      递交数
                                      3473
                                      已通过
                                      1358
                                      上传者