C语言编程,纠正程序错误

2. 功能说明:求三角形面积,请纠正程序中存在的错误,使程序实现其功能。
【本题待修订程序】
/*1*/ #include math.h
/*2*/ #include "stdio.h"
/*3*/ void main()
/*4*/ { float a,b,c;
/*5*/ printf("请输入三角形的三个边长值:\n");
/*6*/ scanf("%f%f%f",&a,&b,&c);
/*7*/ if(a+b>c&&a+c>b&&b+c>a)
/*8*/ printf("Area=%f\n",area( &a,&b,&c)); }
/*9*/ area(float a,b,c)
/*10*/ { float s,area_s;
/*11*/ s=(a+b+c)/2.0;
/*12*/ area_s=sqrt(s*(s-a)*(s-b)*(s-c));
/*13*/ return(area_s);}

#include <iostream>

using namespace std;

float area(float a,float b, float c); //添加函数的声明

/*1*/ #include <math.h> //少尖括号

/*2*/ #include "stdio.h"   

/*3*/ void main()

/*4*/ {  float a,b,c;

/*5*/    printf("请输入三角形的三个边长值:\n");

/*6*/    scanf("%f%f%f",&a,&b,&c);

/*7*/    if(a+b>c&&a+c>b&&b+c>a)

/*8*/    printf("Area=%f\n",area( a,b,c)); }//三个地址符去掉

/*9*/  float area(float a,float b, float c)  //添加函数的返回值,修改三个参数的类型

/*10*/ {  float s,area_s;

/*11*/   s=(a+b+c)/2.0;

/*12*/  area_s=sqrt(s*(s-a)*(s-b)*(s-c));

/*13*/  return(area_s);}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-01
#include <stdio.h>
#include <math.h>
float area(float a,float b,float c); // 原型声明
void main()
{ float a,b,c;
printf("input a b c:\n");
scanf("%f%f%f",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
printf("Area=%f\n",area(a,b,c)); // 注意调用
}
float area(float a,float b,float c) //要定义返回 float
{ float s,area_s;
s=(a+b+c)/2.0;
area_s=sqrt(s*(s-a)*(s-b)*(s-c));
return(area_s);
}
相似回答