0

我试图在程序中输入一个小数,但它给了我不同的输出。我使用了 %5.2f、float 和 double,但它仍然无法正常工作。我想计算一个圆的直径、面积和周长,但是输出不同。

#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<ctype.h>

int main(int argc, char**argv)
{
    double radius;
    double pi = 3.14;
    double diameter;
    double area;
    double circumference;

    printf("\t\tEnter value for radius: ");
    scanf_s("%5.2f", &radius);
    printf("radius is %5.2f", radius);

    diameter = radius*2;
    area = pi*(radius*radius);
    circumference = 2*(pi*radius);

    printf("\n\t\tThe diameter of the circle is %d \n", diameter);
    printf("\t\tArea: %d", area);
    printf("\t\tCircumference: %d", circumference);
    getch();
    return 0;
}

请告诉我我的错误,另外,我尝试使用 M_PI 来获得一个数学常数,但它不起作用。

4

1 回答 1

1

a 的正确输入格式说明符double%lf(或%lg%le)。

scanf_s("%lf", &radius);

当您再次打印时,您可以根据需要对其进行格式化。

printf("radius is %5.2f", radius);
于 2013-07-18T06:56:38.600 回答