请编写程序,通过命令行参数接收三条边长,判断三条边能否组成一个三角形(根据三角不等式定理:任意两边之和大于第三边,则构成三角形)。如果构成三角形,则计算并输出三角形的周长值,并存入“双精度变量(c)”中,输出格式为“Perimeter of triangle:周长值”。否则输出 "Non triangle."(双引号中的内容需要输出)。用C语言
时间: 2024-03-23 07:39:31 浏览: 91
以下是C语言的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
if (argc != 4) {
printf("Usage: %s a b c\n", argv[0]);
return 1;
}
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: %.2f\n", perimeter);
} else {
printf("Non triangle.\n");
}
return 0;
}
```
使用命令行参数获取三角形的三条边长,如果参数数量不足则输出提示信息并返回错误码。接下来使用atof()函数将字符串类型的参数转换为双精度浮点型,并判断是否能够组成三角形。如果能够组成,则计算周长并输出;否则输出提示信息。其中"%.2f"表示保留两位小数输出。
相关问题
请编写程序,通过命令行参数接收三条边长,判断三条边能否组成一个三角形(根据三角不等式定理:任意两边之和大于第三边,则构成三角形)。如果构成三角形,则计算并输出三角形的周长值,并存入“双精度变量(c)”中,输出格式为“Perimeter of triangle:周长值”。否则输出 "Non triangle."(双引号中的内容需要输出)。
以下是Python的代码实现:
```python
import sys
if len(sys.argv) != 4:
print("Usage: python triangle.py a b c")
sys.exit()
a = float(sys.argv[1])
b = float(sys.argv[2])
c = float(sys.argv[3])
if a + b > c and a + c > b and b + c > a:
perimeter = a + b + c
print("Perimeter of triangle: {:.2f}".format(perimeter))
else:
print("Non triangle.")
```
使用命令行参数获取三角形的三条边长,如果参数数量不足则输出提示信息并退出程序。接下来使用float()函数将字符串类型的参数转换为浮点型,并判断是否能够组成三角形。如果能够组成,则计算周长并输出;否则输出提示信息。其中"{:.2f}"表示保留两位小数输出。
c语言编写程序,通过命令行参数接收三条边长,判断三条边能否组成一个三角形(根据三角不等式定理:任意两边之和大于第三边,则构成三角形)。如果构成三角形,则计算并输出三角形的周长值,并存入“双精度变量(c)”中,输出格式为“Perimeter of triangle:周长值”。否则输出 "Non triangle."(双引号中的内容需要输出)。 注意:如果命令行接收参数个数多于或小于3,则可以直接判定为不是三角形,直接输出"Non triangle."(输出不含双引号)。 【输入形式】 输入三个边的值,数据间采用“空格”分隔(如:1 2 1)。 输入是从命令行输入。 【输出形式】 构成三角形时,输出三角形周长值,格式为“Perimeter of triangle:周长值”(输出不含双引号);不能构成三角形时,输出"Non triangle."(输出不含双引号)。
以下是C语言编写的程序,可以通过命令行参数接收三条边长,并判断是否能构成三角形,并计算三角形的周长值:
```c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
double a, b, c;
if (argc != 4) {
printf("Non triangle.\n");
return 0;
}
a = atof(argv[1]);
b = atof(argv[2]);
c = atof(argv[3]);
if (a + b <= c || a + c <= b || b + c <= a) {
printf("Non triangle.\n");
return 0;
}
double perimeter = a + b + c;
printf("Perimeter of triangle:%.2f\n", perimeter);
return 0;
}
```
该程序首先判断命令行参数个数是否为3,如果不是则直接输出"Non triangle.",表示不能构成三角形。然后将命令行参数转换为双精度浮点型变量,接着根据三角不等式定理判断三条边能否构成三角形,如果不能则输出"Non triangle.",如果能则计算三角形的周长值并输出。最后程序返回0表示正常结束。
阅读全文