我正在尝试运行此代码,我已经尝试了这两种方法,但无济于事。 目的是使用 scanf 接收输入并使用 printf 打印出语句。我收到的错误消息是编译器刚刚挂起。
另外,我不要使用任何数学函数,例如平方根或幂
测试用例和预期答案
输入 1: 1.41421356237
输出 1:圆的面积为 3.141590
输入2: 5.65
输出2:圆的面积为50.143703
试用 1
#include <stdio.h>
double function(double a){
double area;
area = 3.14159*((a/2)*(a/2)*2);
return area;
}
int main(void){
double a;
scanf("%f",a);
double result = function(a);
printf("Area of the circle is %fn",result);
return 0;
}
试用 2
#include <stdio.h>
int main(void){
scanf("%f",a);
area = 3.14159*((a/2)*(a/2)*2);
printf("Area of the circle is %fn",area);
return 0;
}
将不胜感激任何帮助,不确定为什么该功能不起作用。谢谢你的时间。
在第一次试用中,您需要将scanf("%f",a);
行更改为:
scanf("%lf",&a);
因为 double 的正确类型说明符是 %lf
它代表"长浮点"。此外,您还需要将&a
作为参数发送,因为scanf需要一个地址而不是一个值。第二次审判也是如此。