codeup2650 判断三个整数是否相邻

本文介绍了一个简单的C++程序,用于判断输入的三个整数是否连续相邻。通过排序和比较相邻元素的方法来实现,最后输出TRUE或FALSE。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

codeup2650  判断三个整数是否相邻

时空限制    1000ms/128MB

题目描述

        判断三个整数是否相邻,是输出"TRUE",否则输出"FALSE"。

输入

        输入只有一行,包括3个整数。

输出

        输出只有一行。

样例输入

1 2 3

样例输出

TRUE

代码

#include<iostream>
using namespace std;

int main(){
	int a,b,c;
	cin>>a>>b>>c;
	if (a>b) { int t=a; a=b; b=t; }
	if (a>c) { int t=a; a=c; c=t; }
	if (b>c) { int t=b; b=c; c=t; }
	if (a+1==b && b+1==c) cout<<"TRUE\n";
	else cout<<"FALSE\n";
	return 0;
}
### C++ 实现判断三个整数是否相邻 以下是基于已有引用中的逻辑实现的一个完整的 C++ 函数,用于判断三个整数是否相邻并返回 `TRUE` 或 `FALSE`: ```cpp #include <iostream> using namespace std; bool areConsecutive(int a, int b, int c) { // 将输入的三个整数按从小到大排序 if (a > b) swap(a, b); if (a > c) swap(a, c); if (b > c) swap(b, c); // 判断排序后的数组是否满足连续条件 if (a + 1 == b && b + 1 == c) return true; else return false; } int main() { int a, b, c; cin >> a >> b >> c; if (areConsecutive(a, b, c)) cout << "TRUE"; else cout << "FALSE"; return 0; } ``` 上述代码通过先对输入的三个整数进行排序[^1],再验证它们之间是否存在连续关系来完成功能。 另一种方法可以通过计算绝对差值的方式简化逻辑[^3]。下面是第二种实现方式: ```cpp #include <iostream> using namespace std; bool areConsecutiveAlt(int a, int b, int c) { int count = 0; if (abs(a - b) == 1) count++; if (abs(a - c) == 1) count++; if (abs(b - c) == 1) count++; return count == 2 ? true : false; } int main() { int a, b, c; cin >> a >> b >> c; if (areConsecutiveAlt(a, b, c)) cout << "TRUE"; else cout << "FALSE"; return 0; } ``` 此版本无需显式排序,而是统计两两之间的绝对差值为 1 的情况数量。当恰好有两次这样的配对时,则说明这三个数是连续的。 #### 注意事项 - 输入数据应确保为有效整数。 - 排序法更直观易懂,而计数法则可能稍快一些,在某些场景下可以减少不必要的比较操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值