函数原型
double ParaArea(double base, double height);
说明:参数 base 和 height 分别为平行四边形的底和高,函数值为平行四边形的面积。
请在空白处填写适当内容,用带参数的宏替换命令来实现相同的功能。
裁判程序
#include <stdio.h>
__________
int main()
{ double a, b, c;
scanf("%lg%lg", &a, &b);
c = ParaArea(a, b);
printf("%gn", c);
return 0; }
注:裁判程序有很多,不止一个。
输入样例
2.5 1.4
输出样例
3.5
解题代码很简单:
#define ParaArea(a,b) ((a)*(b)*1.0)
不过即使这样,这道题仍有可注意之处:
%lg和%g都是C语言中的格式化输出符号,用于输出浮点数。其中,%lg可以自动选择以实数形式输出,或者是以科学计数法输出,而%g则会根据数值的大小自动选择以实数形式输出,或者是以科学计数法输出
那么,为什么要加1.0呢?
这是因为在C语言中,除法运算的结果可能是整数,而我们需要将其转换为浮点数。如果我们不乘以1.0,那么结果就会被截断为整数,从而导致精度丢失。
总而言之,这道题确实一开始容易让人摸不着头脑,因为它没太说清楚我们要干什么,在此多谢好友迟暮的代码分享,也希望能帮到更多的人。
原文地址:https://blog.csdn.net/etamaos/article/details/134759019
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_37932.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。