【问题描述】 请编写程序,通过命令行参数接收三条边长,判断三条边能否组成一个三角形(根据三角不等式定理:任意两边之和大于第三边,则构成三角形)。如果构成三角形,则计算并输出三角形的周长值,并存入“双精度变量(c)”中,输出格式为“Perimeter of triangle:周长值”。否则输出 "Non triangle."(双引号中的内容需要输出)。 注意:如果命令行接收参数个数多于或小于3,则可以直接判定为不是三角形,直接输出"Non triangle."(输出不含双引号)。 【输入形式】 输入三个边的值,数据间采用“空格”分隔(如:1 2 1)。 输入是从命令行输入。 【输出形式】 构成三角形时,输出三角形周长值,格式为“Perimeter of triangle:周长值”(输出不含双引号);不能构成三角形时,输出"Non triangle."(输出不含双引号)。 【样例输入1】 1 2 1 【样例输出1】 Non triangle. 【样例输入2】 2 3 5 【样例输出2】 Non triangle. 【样例输入3】 1.5 1 2 【样例输出3】 Perimeter of triangle:4.500000 用C语言完成
时间: 2024-03-24 10:36:23 浏览: 47
```c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
if (argc != 4) { // 判断参数个数是否为 3
printf("Non triangle.\n");
return 0;
}
double a = atof(argv[1]); // 将字符串转为 double 类型
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:%lf\n", perimeter);
} else {
printf("Non triangle.\n");
}
return 0;
}
```
阅读全文