题解 AT2646 【ringring】

· · 题解

看到每人发题解,我来发一篇
其实这道题很好做,但是很多人都不理解意思

大致意思:输入三个数,把最小的两个数加起来

数组做法:

#include<bits/stdc++.h>//万能头文件
using namespace std;
int a[2];//用数组更方便
int main()
{
 scanf("%d%d%d",&a[0],&a[1],&a[2]);//输入三个数
 sort(a,a+3); //直接快排
 printf("%d",a[0]+a[1]);//a[0]最大数,a[1]第二大
 return 0;
}

除了数组做法,还有不用数组的做法
不用数组的做法:

#include<bits/stdc++.h>
using namespace std;
int a,b,c;
int main()
{
 scanf("%d%d%d",&a,&b,&c);
 if(a<c&&b<c)cout<<("%d",a+b);
 if(a<b&&c<b)cout<<("%d",a+c);
 if(b<a&&c<a)printf("%d",b+c);
 return 0;
}