蓝桥题库每日一练 · 2026.09.07

9月7日 输入三个正整数(每个都不超过 200000000…

C++编程题参考难度 ★★☆☆☆蓝桥杯第十一届 选拔赛 · 已用
输入三个正整数(每个都不超过 2000000000,也就是 20 亿),判断它们能否作为三条边构成一个三角形:能构成输出 1,不能输出 0。(三角形里任意两边之和大于第三边、任意两边之差小于第三边。)
样例
输入 3 4 5输出 1
输入 3 4 8输出 0
评分标准
  • 20 分:能正确接收输入的参数
  • 50 分:能正确判断是否可以构成三角形
参考解法
能不能拼成三角形,只看一条规矩:任意两条边加起来,都要比第三条长。想想也对——要是有两根短棒加起来还没第三根长,那它俩根本够不着、合不拢,围不成三角形。

三条边 a、b、c,就要三个条件同时成立:a+b>c 且 a+c>b 且 b+c>a。用「并且(&&)」把它们串起来,全中才输出 1,否则输出 0。

还要当心一个坑:C++ 里的 int 像一个固定大小的盒子,最多只能装到 2147483647(大约 21 亿)。每条边最长 20 亿,单独放进 int 没问题;可两条 15 亿的边一加就是 30 亿,盒子装不下,就会「溢出」,变成一个莫名其妙的负数,判断就错了。所以咱们用 long long——一个大得多的盒子,能装下大约九百亿亿,两边相加稳稳的。

#include <bits/stdc++.h>
using namespace std;
int main(){
    long long a, b, c;   // 用 long long:两条长边相加也装得下……

看此题详解,练更多题目,进入蓝桥题库每日一练 →

此答案或解析由 AI 生成,请谨慎使用。
难度依赛考组别及等考级别粗略评估,仅供参考。