C++主要函数及程序

C++ main function and program

我正在尝试将此代码获取到 运行,我已经尝试了这两种方法但无济于事。目的是使用 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 %f\n",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 %f\n",area);
    return 0;
}

希望得到任何帮助,但不确定为什么该功能不起作用。谢谢你的时间。

在第一次试用中,您需要将 scanf("%f",a); 行更改为:

scanf("%lf",&a);

因为 double 的正确类型说明符是 %lf,它代表 "long float"。您还需要发送 &a 作为参数,因为 scanf 需要一个地址而不是一个值。二审也是一样。