用ansi c写输入三角形三边长度(整数),判断是否为三角形。是,输出yes;否输出no。边长不为正数时,输出error。 输入三个边的长度以逗号分隔,例如: 输入:1,2,3回车 输出:no
时间: 2024-10-16 21:03:50 浏览: 21
在ANSI C语言中,你可以使用条件语句来检查输入的三角形三边长度是否满足构成三角形的条件,即任意两边之和大于第三边。下面是一个简单的实现:
```c
#include <stdio.h>
#include <stdlib.h> // 需要包括此头文件,用于获取整数输入
int main() {
int side1, side2, side3;
// 获取用户输入,注意输入前需要包含<stdlib.h>库
char input[100];
printf("请输入三角形的三边长度,用逗号分隔:");
fgets(input, sizeof(input), stdin); // fgets用于读取带空格的输入
input[strlen(input)-1] = '\0'; // 去掉换行符
// 将输入转换为整数
sscanf(input, "%d,%d,%d", &side1, &side2, &side3);
// 检查输入是否合法以及是否能构成三角形
if (side1 <= 0 || side2 <= 0 || side3 <= 0) {
printf("error: 边长不能为负数或零。\n");
} else if (side1 + side2 > side3 && side1 + side3 > side2 && side2 + side3 > side1) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
```
当输入如 "1,2,3" 回车后,程序会检查这三条边长是否满足三角形条件,并相应地输出 "yes" 或 "no"。
阅读全文