编写一个程序,要求有主函数和函数,由键盘输入三个数,计算以这三个数为边长的三角形面积。 实验步骤与要求: (1)在主函数中输入3个数,如果三角形成立,输出三角形面积;如果三角形不成立,给出报错信息。(10分) 三角形面积计算公式#include<math.h> p=(a+b+c)/2; S=sqrt(p*(p-a)*(p-b)*(p-c)); (2)编写函数triangle( )判断输入的三个数字能否组成三角形。
时间: 2024-02-21 15:56:40 浏览: 111
好的,以下是程序代码:
```c
#include <stdio.h>
#include <math.h>
int triangle(float a, float b, float c) {
if ((a + b) > c && (a + c) > b && (b + c) > a) {
return 1; // 三角形成立
} else {
return 0; // 三角形不成立
}
}
int main() {
float a, b, c;
printf("请输入三角形的三条边长:\n");
scanf("%f%f%f", &a, &b, &c);
if (triangle(a, b, c)) {
float p = (a + b + c) / 2;
float S = sqrt(p * (p - a) * (p - b) * (p - c));
printf("三角形面积为:%f\n", S);
} else {
printf("无法构成三角形!\n");
}
return 0;
}
```
在主函数中,首先输入三角形的三条边长,然后调用函数 `triangle()` 判断三角形是否成立。如果成立,则根据三角形面积公式计算面积并输出;否则输出报错信息。函数 `triangle()` 返回值为 1 表示三角形成立,返回值为 0 表示三角形不成立。
相关问题
C语言编写一个程序,要求有主函数和函数,由键盘输入三个数,计算以这三个数为边长的三角形面积。 实验步骤与要求: (1)在主函数中输入3个数,如果三角形成立,输出三角形面积;如果三角形不成立,给出报错信息。(10分) 三角形面积计算公式#include<math.h> p=(a+b+c)/2; S=sqrt(p*(p-a)*(p-b)*(p-c)); (2)编写函数triangle( )判断输入的三个数字能否组成三角形。
好的,以下是您所需的代码:
```c
#include <stdio.h>
#include <math.h>
int triangle(float a, float b, float c); // 函数声明
int main() {
float a, b, c, p, S;
printf("请输入三角形的三条边长:\n");
scanf("%f%f%f", &a, &b, &c);
if (triangle(a, b, c)) {
p = (a + b + c) / 2;
S = sqrt(p * (p - a) * (p - b) * (p - c));
printf("该三角形面积为:%f\n", S);
} else {
printf("无法构成三角形!\n");
}
return 0;
}
int triangle(float a, float b, float c) {
if (a + b > c && a + c > b && b + c > a) {
return 1;
} else {
return 0;
}
}
```
函数 `triangle` 的作用是判断三条边能否组成三角形。如果能够组成三角形,函数返回值为 1,否则返回值为 0。在主函数中,首先输入三角形的三条边长,然后调用 `triangle` 函数判断是否能够组成三角形。如果能够组成三角形,则根据公式计算三角形的面积并输出结果;否则输出无法构成三角形的信息。
(1)已知三角形三边长度分别为a,b,c,求三角形的面积。 面积公式:area=sqrt(s*(s-a)*(s-b)*(s-c)),s=(a+b+c)/2 要求: 编写函数判断三条边是否构成三角形,结果通过返回值返回。 编写函数计算三角形面积,结果通过返回值返回。 在主函数中,从键盘输入三角形的三边长a,b,c ,通过调用函数判断是否构成三角形:如果构成三角形,调用函数计算三角形的面积,并输出面积;如果不构成三角形,输出错误信息。 主函数写在一个代码文件中,另外两个函数写在一个代码文件中。在文件首用注释方式注明文件名。 (2)编写一个名为counter的函数,它统计由参数传来的字符串中字母、数字、空格和其他字符的个数,统计结果分别采用全局变量和数组参数两种方法返回。每种方法的main函数已给出,请根据main编写出counter函数,把counter函数补充在main函数后边,使整个程序完整。
(1) 三角形面积计算函数代码:
```c
/* 文件名: triangle.c */
#include <stdio.h>
#include <math.h>
int is_triangle(double a, double b, double c) {
if (a + b <= c || a + c <= b || b + c <= a) {
return 0; // 不构成三角形
} else {
return 1; // 构成三角形
}
}
double triangle_area(double a, double b, double c) {
double s = (a + b + c) / 2;
double area = sqrt(s * (s - a) * (s - b) * (s - c));
return area;
}
```
主函数代码:
```c
/* 文件名: main.c */
#include <stdio.h>
#include "triangle.h"
int main() {
double a, b, c;
printf("请输入三角形三边长:");
scanf("%lf%lf%lf", &a, &b, &c);
if (is_triangle(a, b, c)) {
double area = triangle_area(a, b, c);
printf("三角形面积为:%.2lf\n", area);
} else {
printf("三条边不能构成三角形!\n");
}
return 0;
}
```
is_triangle函数用于判断三边长是否能够构成三角形,如果能够构成则返回1,如果不能则返回0。triangle_area函数用于计算三角形的面积,并返回计算结果。主函数中先输入三角形的三边长,然后调用is_triangle函数判断是否构成三角形,如果能够构成则调用triangle_area函数计算面积并输出结果,否则输出错误信息。
(2) 统计字符串中字符个数的函数代码:
```c
/* 文件名: counter.c */
#include <stdio.h>
int letter_count = 0; // 字母计数器
int digit_count = 0; // 数字计数器
int space_count = 0; // 空格计数器
int other_count = 0; // 其他字符计数器
void counter(char *str) {
int i;
char c;
for (i = 0; (c = *(str + i)) != '\0'; i++) {
if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') {
letter_count++;
} else if (c >= '0' && c <= '9') {
digit_count++;
} else if (c == ' ') {
space_count++;
} else {
other_count++;
}
}
}
```
主函数代码:
```c
/* 文件名: main.c */
#include <stdio.h>
#include "counter.h"
int main() {
char str[100];
printf("请输入字符串:");
gets(str);
counter(str);
printf("字母个数:%d\n", letter_count);
printf("数字个数:%d\n", digit_count);
printf("空格个数:%d\n", space_count);
printf("其他字符个数:%d\n", other_count);
return 0;
}
```
counter函数用于统计字符串中字母、数字、空格和其他字符的个数,分别使用全局变量来存储统计结果。主函数中先输入字符串,然后调用counter函数统计字符个数,并输出统计结果。
阅读全文