C语言习题12_宏定义

C语言习题12_宏定义

预处理(01)宏定义计算面积

9.3 三角形的面积为 s=sqrt(s*(s-a)*(s-b)*(s-c)),其中 s=1/2*(a+b+c)。a,b,c 为三角形的边。定
义两个带参数的宏,一个用来求 s,另一个宏用来求 area。写程序,在程序中用带实参的宏
名来求面积 area.
输入描述
输入三角形的三条边,以逗号隔开
输出描述
输出面积(保留 2 位小数)
输入样例
3,4,5
7.3,8.2,9.9
输出样例
area=6.00
area=29.40
#include 
#include 
#define s 1.0 / 2 * (a + b + c)
#define area sqrt(s *(s - a) * (s - b) * (s - c))
int main()
{double a, b, c;double *p1, *p2, *p3;p1 = &a;p2 = &b;p3 = &c;scanf("%lf,%lf,%lf", p1, p2, p3);printf("area=%.2lf\n", area);return 0;
}

预处理(02)用带参数的宏实现,从 3 个数中找出最大的数

9.8 用带参数的宏实现,从 3 个数中找出最大的数。题目描述
要求(用宏实现)
输入描述
输入三个实数,以逗号隔开
输出描述
输出最大值
输入样例
1.2,5.6,3.4
7.3,8.2,9.9
输出样例
max=5.600000
max=9.900000
#include 
#define max (a > b ? a : b) > c ? (a > b ? a : b) : c
int main()
{double a, b, c;scanf("%lf,%lf,%lf", &a, &b, &c);printf("max=%lf\n", max);return 0;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部