编程题:编写程序输入三角形的3条边长,计算并输出三角形的面积。

 我来答
冰封月x
高粉答主

2018-12-04 · 关注我不会让你失望
知道答主
回答量:408
采纳率:100%
帮助的人:9.8万
展开全部

一、程序分析

三角形面积海伦公式:√[ p ( p - a ) ( p - b ) ( p - c ) ] 。其中 p = (a + b + c) / 2 。a、b、c分别是三角形的三边长。 

二、根据三角形面积计算公式用if语句编写程序如下:

#include "stdio.h"

#include "math.h"

int main(void)

{

float a = 0, b = 0, c = 0, p = 0;

float area = 0;

printf("Please input three sides of triangle:");

scanf_s("%f %f %f", &a, &b, &c);

if((a + b) > c && (a + c) > b && (b + c) > a)

{

p = (a + b + c) / 2;

area = sqrt(p * (p - a) * (p - b) * (p - c));

}

else

printf("Triangle does not exist!\n");

printf("The area of triangle is:%f\n", area);

return 0;

扩展资料:

还可以使用switch语句计算三角形的面积,编写程序如下

#include "stdio.h"

#include "math.h"

int main(void)

{

float a = 0, b = 0, c = 0;

float p = 0;

printf("Please input three sides of triangle:");

scanf_s("%f %f %f", &a, &b, &c);

switch (a + b > c  &&  a + c > b && b + c > a)

{

case 0:printf("Triangle does not exist!\n"); break;

case 1:

p = (a + b + c)*0.5;

printf("The area of triangle is:%f\n", sqrt(p * (p - a) * (p - b) * (p - c)));

break;

}

return 0;

}

参考资料:百度百科-switch

参考资料:百度百科-结束条件语句

杜哥是个小天才
2018-08-31 · TA获得超过1809个赞
知道答主
回答量:32
采纳率:0%
帮助的人:8677
展开全部

#include

#include

int main()

{

double a,b,c,p,s;


printf("请输入a,b,c三个数:");

scanf("%lf%lf%lf",&a,&b,&c);

p=(1/2)*(a+b+c);

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("三角形的面积为:%.3f\n",s);

return 0;

}

拓展资料

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-05-04
展开全部
Fire历史 的程序有写问题 我稍微改了下

#include <stdio.h>
#include <math.h>
void main(void)
{
float a,b,c,s,t,area;
char again = 'n';
index:
do{
printf("请输入三角形的三边长,以','为间隔,如:3,4,5\n");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b <=c)
{
printf("输入错误,请再输入!");
goto index;
}
if(a+c <=b)
{
printf("输入错误,请再输入!");
goto index;
}
if(b+c <=a)
{
printf("输入错误,请再输入!");
goto index;
}
s=(a+b+c)/2;
t=s*(s-a)*( s-b)*(s-c);
area=sqrt(t);
printf("面积 S=%3.2f\n",area);//保留两位小数 一堆小数太难看
printf("周长 C=%3.2f\n",a+b+c);
printf("想再来一遍吗? n/y ");
fflush(stdin);
again = getchar();
}while( again =='y'||again == 'Y');
}
另外,虚机团上产品团购,超级便宜
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
c519299013
2011-04-29
知道答主
回答量:24
采纳率:0%
帮助的人:17.3万
展开全部
#include<stdio.h>
#include<math.h>
void main()
{
float a ,b,c,area,p;
printf("请输入三角形的三边长:a,b,c\n");
scanf("%f,%f,%f",&a,&b,&c);
p=(a+b+c)/2;
area=sqrt(p*(p-a)*(p-b)*(p-c) );
printf("%f\n",area);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sun_siliang
2011-04-29 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4407万
展开全部
#include <stdio.h>
main()
{float a,b,c;
float p,s;
scanf("%f%f%f",&a,&b,&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-c)*(p-b));
printf("%lf\n",s);
}
追问
这个程序有问题
追答
#include 
#include //新加的头文件!
void main()
{float a,b,c;
float p,s;
scanf("%f%f%f",&a,&b,&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-c)*(p-b));
printf("%lf\n",s);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式