作业帮 > 综合 > 作业

c 程序来计算三角形面积

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/08 01:45:18
c 程序来计算三角形面积
看下为什么运行的时候不正确?
#include "stdio.h"
#include "math.h"
main()
{
double a,b,c,s,area;
printf("please input 3 numbers:\n");
scanf("%f,%f,%f",&a,&b,&c);
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
printf("可以构造出三角形\n");
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的面积为:%d\n",area);
}
else
printf("不能构造出三角形\n");
}
1.首先可以肯定的是:scanf()可以输入double类型,格式化参数为%lf,即scanf("%lf,%lf,%lf",&a,&b,&c).在输入的时候,用逗号隔开.如果输入的时候仅用空格和回车,则scanf应该为scanf("%lf%lf%lf",&a,&b,&c);
2.当然,跟 printf() 不同,scanf() 用 %lf 代表双精度数,用 %f 代表浮点数.一般情况输入为什么型,输出也是,所以printf()中的%d改为%lf或者%f即可.
#include "stdio.h"
#include "math.h"
void main()
{
double a,b,c,s,area;
printf("please input 3 numbers:\n");
scanf("%lf,%lf,%lf",&a,&b,&c);//_____________1.
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
printf("可以构造出三角形\n");
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的面积为:%lf\n",area);//______________2.
}
else
printf("不能构造出三角形\n");
}