C ++主要功能和程序

时间:2017-05-14 17:44:51

标签: c function main

我正在尝试运行此代码,我尝试了这两种方法,但无济于事。目的是使用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;
}

会感激任何帮助,不知道为什么功能不起作用。谢谢你的时间。

1 个答案:

答案 0 :(得分:2)

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

scanf("%lf",&a);

因为double的正确类型说明符是%lf,它代表“long float”。您还需要发送&a作为参数,因为scanf需要一个地址而不是一个值。第二次试验也是如此。

相关问题