28 条题解
-
37
这道题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
这题的话我提供两种做法哈,大家可以借鉴一下,但是我更希望你们用第二种(根据题意嘛,分支结构)
方法①
- 用 for 循环输入三个数,存储在数组 a 中(4个元素,因为可以设 i 为 1 )
- 在 for 循环里判断出 max 和 min 的值(最大值&最小值)
- 输出 max + min(最大值 + 最小值)
- 输出 ( max + min ) / 2 ((最大值 + 最小值) / 2)
- 注意!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; }
方法②
- 用 double 形式存储 x , y , z 然后以此判断几种情况
- ①:x + y(输出同方法①)
- ②:x + z(输出同方法①)
- ③: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
这道题可以不用数组,但用数组更方便,此题解百分百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; }
题解已经观看,不如点个赞赞
点个赞吧,谢谢😎
-
3
简单易懂的新手做法出炉啦 来看看吧🚀️
#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
#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
注:我爱用万能头文件。
#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
#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
#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
我很少写题解,这道题比较部分还有点意思,就是觉得我的好像有点复杂了
有可能我对大括号情有独钟
#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
全网最“短”代码👀️,已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;}
-
1
记得要用函数 #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; }
信息
- ID
- 716
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 3473
- 已通过
- 1358
- 上传者