用c语言定义一个函数,int fun(int a,int b,int c),它的功能是: 如果a,b,c能构成等边三角形,返回3; 如果a,b,c能构成等腰三角形,返回2; 如果a,b,c能构成一般三角形,返回1; 如果a,b,c不能构成三角形,返回0;
时间: 2024-02-28 11:57:02 浏览: 79
好的,下面是代码实现:
```c
int fun(int a, int b, int c) {
if(a + b <= c || a + c <= b || b + c <= a) {
return 0; // 不能构成三角形
} else if(a == b && b == c) {
return 3; // 等边三角形
} else if(a == b || a == c || b == c) {
return 2; // 等腰三角形
} else {
return 1; // 一般三角形
}
}
```
这个函数首先判断给出的三个数字是否能组成三角形。如果不能组成三角形,直接返回0;否则,如果三个数字相等,说明是等边三角形,返回3;如果有两个数字相等,说明是等腰三角形,返回2;否则就是一般三角形,返回1。
相关问题
定义一个C语言函数int fun(int a,int b,int c),它的功能是:若a,b,c能够构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。在主函数中测试这个函数,输入三角形的三边,输出判断结果
### 回答1:
以下是定义的函数int fun(int a,int b,int c)的代码:
```
int fun(int a, int b, int c) {
if (a + b <= c || a + c <= b || b + c <= a) {
return 0;
} else if (a == b && b == c) {
return 3;
} else if (a == b || b == c || a == c) {
return 2;
} else {
return 1;
}
}
```
在主函数中测试这个函数,输入三角形的三边,输出判断结果的代码如下:
```
#include <stdio.h>
int fun(int a, int b, int c);
int main() {
int a, b, c;
printf("请输入三角形的三边:\n");
scanf("%d %d %d", &a, &b, &c);
int result = fun(a, b, c);
if (result == 0) {
printf("不能构成三角形\n");
} else if (result == 1) {
printf("能构成一般三角形\n");
} else if (result == 2) {
printf("能构成等腰三角形\n");
} else if (result == 3) {
printf("能构成等边三角形\n");
}
return 0;
}
```
输入三角形的三边,程序会输出判断结果。
### 回答2:
定义一个C语言函数int fun(int a,int b,int c),它的功能是判断三个输入参数a、b和c构成的三角形类型并返回相应的结果。首先,需要判断是否能够构成三角形,如果不能构成三角形,则直接返回0。其次,判断是否构成等边三角形或者等腰三角形。最后,如果既不是等边三角形也不是等腰三角形,则返回1,表示构成一般三角形。
具体实现如下:
```c
#include <stdio.h>
int fun(int a, int b, int c) {
if (a + b <= c || a + c <= b || b + c <= a) {
return 0; // 不能构成三角形
} else if (a == b && b == c) {
return 3; // 构成等边三角形
} else if (a == b || b == c || c == a) {
return 2; // 构成等腰三角形
} else {
return 1; // 构成一般三角形
}
}
int main() {
int a, b, c;
printf("请输入三角形的三边:\n");
scanf("%d %d %d", &a, &b, &c);
int result = fun(a, b, c);
if (result == 0) {
printf("不能构成三角形\n");
} else if (result == 1) {
printf("构成一般三角形\n");
} else if (result == 2) {
printf("构成等腰三角形\n");
} else if (result == 3) {
printf("构成等边三角形\n");
}
return 0;
}
```
以上是一个完整的程序,在主函数中通过输入三角形的三边,使用fun函数进行判断,并输出相应的结果。需要注意的是,为了简化代码,这里只针对正整数进行判断,对于其他情况(如0、负数等)需要额外进行处理。
### 回答3:
定义一个C语言函数int fun(int a,int b,int c),其功能为判断给定的三个边长a、b、c能否构成三角形,并根据构成的三角形类型返回相应的值。
首先判断 a、b、c 是否满足构成三角形的条件。若不满足,则直接返回0表示不能构成三角形。判断条件为:任意两边之和大于第三边,即 `(a + b > c) && (a + c > b) && (b + c > a)`。
若满足构成三角形的条件,则再根据三角形的边长关系来判断三角形的类型,并返回相应的值。
若a、b、c能够构成等边三角形,即 a = b = c,则返回3;
若a、b、c能够构成等腰三角形,即 a = b 或 a = c 或 b = c,则返回2;
若a、b、c构成一般三角形,即不属于上述两种情况,则返回1;
在主函数中,可以让用户输入三角形的三个边长,并调用函数fun来判断并输出结果。示例代码如下:
```c
#include <stdio.h>
int fun(int a, int b, int c) {
if ((a + b > c) && (a + c > b) && (b + c > a)) { // 判断是否构成三角形
if (a == b && b == c) { // 判断是否是等边三角形
return 3;
} else if (a == b || a == c || b == c) { // 判断是否是等腰三角形
return 2;
} else { // 其他情况为一般三角形
return 1;
}
} else { // 不能构成三角形
return 0;
}
}
int main() {
int a, b, c;
printf("请输入三角形的三边长:");
scanf("%d %d %d", &a, &b, &c);
int result = fun(a, b, c);
if (result == 3) {
printf("能够构成等边三角形\n");
} else if (result == 2) {
printf("能够构成等腰三角形\n");
} else if (result == 1) {
printf("能够构成一般三角形\n");
} else {
printf("不能构成三角形\n");
}
return 0;
}
```
定义一个函数,int fun(int a,int b,int c),它的功能是: 如果a,b,c能构成等边三角形,返回3; 如果a,b,c能构成等腰三角形,返回2; 如果a,b,c能构成一般三角形,返回1; 如果a,b,c不能构成三角形,返回0;
好的,以下是实现上述功能的C语言代码:
```c
#include <stdio.h>
int fun(int a, int b, int c) {
if (a + b <= c || a + c <= b || b + c <= a) {
return 0; // 不能构成三角形
} else if (a == b && b == c) {
return 3; // 等边三角形
} else if (a == b || a == c || b == c) {
return 2; // 等腰三角形
} else {
return 1; // 一般三角形
}
}
int main() {
int a, b, c;
printf("请输入三角形的三条边长:\n");
scanf("%d%d%d", &a, &b, &c);
int result = fun(a, b, c);
switch(result) {
case 0:
printf("不能构成三角形\n");
break;
case 1:
printf("一般三角形\n");
break;
case 2:
printf("等腰三角形\n");
break;
case 3:
printf("等边三角形\n");
break;
default:
printf("未知结果\n");
break;
}
return 0;
}
```
上述代码中,定义了一个名为`fun`的函数,它的参数为三角形的三条边长,返回值为1、2、3或0,分别代表一般三角形、等腰三角形、等边三角形和不能构成三角形。在`main`函数中,先输入三角形的三条边长,然后调用`fun`函数得到结果,并根据返回值输出相应的信息。
阅读全文