请编写程序,通过命令行参数接收三条边长,判断三条边能否组成一个三角形(根据三角不等式定理:任意两边之和大于第三边,则构成三角形)。如果构成三角形,则计算并输出三角形的周长值,并存入“双精度变量(c)”中,输出格式为“Perimeter of triangle:周长值”。否则输出 "Non triangle."(双引号中的内容需要输出)。 注意:如果命令行接收参数个数多于或小于3,则可以直接判定为不是三角形,直接输出"Non triangle."(输出不含双引号)。 【输入形式】 输入三个边的值,数据间采用“空格”分隔(如:1 2 1)。 输入是从命令行输入。 【输出形式】 构成三角形时,输出三角形周长值,格式为“Perimeter of triangle:周长值”(输出不含双引号);不能构成三角形时,输出"Non triangle."(输出不含双引号)。.C
时间: 2024-02-21 22:00:46 浏览: 53
python 判断三角形,给你三个整数a,b,c, 判断能否以它们为三个边长构成三角形。
5星 · 资源好评率100%
以下是实现该功能的代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
if(argc != 4) { // 命令行参数个数不为3,直接输出“Non triangle.”
printf("Non triangle.\n");
return 0;
}
double a = atof(argv[1]);
double b = atof(argv[2]);
double c = atof(argv[3]);
if(a + b > c && a + c > b && b + c > a) { // 判断能否构成三角形
double perimeter = a + b + c;
printf("Perimeter of triangle:%.2lf\n", perimeter);
} else {
printf("Non triangle.\n");
}
return 0;
}
```
程序中使用了 `argc` 和 `argv` 两个命令行参数,其中 `argc` 表示命令行参数的个数,`argv` 是一个字符串数组,其中存储了命令行输入的参数。如果 `argc` 不等于 4,则直接输出 “Non triangle.”;否则将命令行输入的三个参数转换成 `double` 类型后进行三角形判断,如果能构成三角形,则计算并输出周长值,否则输出 “Non triangle.”。注意输出周长值时需要保留两位小数,这里使用了 `printf` 函数的格式化输出功能。
阅读全文