解题思路:
注意事项:
1、宏只是简单的替换,使用宏做算数运算的时候要特别注意替换后的运算顺序。
2、为了避免替换后的运算顺序错误,宏运算最好加括号。
参考代码:
#include<stdio.h> #include<math.h> #define S(a, b ,c) ((a+b+c)/2.0) #define AREA(s, a, b, c) sqrt(s*(s-a)*(s-b)*(s-c)); int main() { float a, b, c, area; scanf("%f %f %f", &a, &b, &c); area = AREA(S(a, b, c), a, b, c); printf("%.3f\n", area); return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:564 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1884 |
C语言程序设计教程(第三版)课后习题7.4 (Java代码)浏览:840 |
汽水瓶 (C语言代码)浏览:698 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:628 |
妹子杀手的故事 (C语言代码)浏览:1218 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:938 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:1223 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:661 |
字符逆序 (C语言代码)浏览:613 |