判断三个整数是否相邻,是输出"YES",否则输出"NO"。在函数中输入三个自然数,函数返回判断结果。用c写 写排序然后再比较
时间: 2024-11-06 07:23:16 浏览: 19
要判断三个整数是否相邻,你可以先对这三个数进行排序,然后检查它们之间的差值。如果两个连续的数之差为1,而第三个数与前两者之间也只差1,那么它们就是相邻的。以下是一个简单的C语言函数实现:
```c
#include <stdio.h>
// 判断三个整数是否相邻的函数
int areAdjacent(int num1, int num2, int num3) {
// 先排序
if (num1 > num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
if (num2 > num3) {
int temp = num2;
num2 = num3;
num3 = temp;
}
if (num1 > num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
// 检查相邻性
if (num2 - num1 == 1 && (num3 == num2 + 1 || num3 == num1)) {
return 1; // 相邻,输出 "YES"
} else {
return 0; // 不相邻,输出 "NO"
}
}
int main() {
int a, b, c;
printf("Enter three numbers: ");
scanf("%d %d %d", &a, &b, &c);
int result = areAdjacent(a, b, c);
if (result) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
```
在这个程序中,`areAdjacent` 函数首先对输入的三个数字进行排序,然后检查相邻条件。`main` 函数则负责接收用户输入并调用这个函数。
阅读全文