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 需要一个地址而不是一个值。二审也是一样。
我正在尝试将此代码获取到 运行,我已经尝试了这两种方法但无济于事。目的是使用 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 需要一个地址而不是一个值。二审也是一样。