三角形的面积为area=sqrt(s*(s-a)*(s-b)*(s-c)),s=(a+b+c)/2; 请分别用函数和带参数宏两种方法加以实现。

三角形的面积为area=sqrt(s*(s-a)*(s-b)*(s-c)),s=(a+b+c)/2; 请分别用函数和带参数宏两种方法加以实现。
这是用函数的...
#include<stdio.h>
#include<math.h>
void main()
{
float s(float a,float b,float c);
float area(float s,float a,float b,float c);
float a,b,c;
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
printf("a=%.2f,b=%.2f,c=%.2f,s=%.2f,area=%.2f\n",a,b,c,___,_______);
}
folat s(float a,float b,float c)
{
____________;
}
float area(float s,float a,float b,float c)
{
_______________;
}
这是用带参数宏的...
#include<stdio.h>
#include<math.h>
#define______
#define_________
void main()
{
folat a,b,c;
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
printf("a=%.2f,b=%.2f,c=%.2f,s=%.2f,area=%.2f\n",a,b,c,s(a,b,c),area(s(a,b,c),a,b,c));
}

麻烦各位高手了!!! 小弟真的很急!!

第1个回答  推荐于2016-02-01
用函数的
#include<stdio.h>
#include<math.h>
void main()
{
float s(float a,float b,float c);
float area(float s,float a,float b,float c);
float a,b,c;
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
printf("a=%.2f,b=%.2f,c=%.2f,s=%.2f,area=%.2f\n",a,b,c,s(a,b,c),area(s(a,b,c),a,b,c));
}
float s(float a,float b,float c)
{
float s;
s=(a+b+c)/2;
return s;
}
float area(float s,float a,float b,float c)
{
float area;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
return area;
}
用参数宏的
#include<stdio.h>
#include<math.h>
#define s(a,b,c) (a+b+c)/2
#define area(s,a,b,c) sqrt(s*(s-a)*(s-b)*(s-c))
void main()
{
float a,b,c;
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
printf("a=%.2f,b=%.2f,c=%.2f,s=%.2f,area=%.2f\n",a,b,c,s(a,b,c),area(s(a,b,c),a,b,c));
}本回答被提问者采纳
相似回答