【问题标题】:Regarding Floating Point Numbers关于浮点数
【发布时间】:2016-10-17 07:50:05
【问题描述】:

我知道“家庭作业”在这里不太受欢迎,但我尝试过在线搜索,但我并没有真正到达任何地方,我也没有要求任何人完成它,只是为了给我指明正确的方向。

我在过去几个小时内创建了这个,我知道的不多,但到目前为止还不错。现在我必须添加它,以便在前两个结果(第一个和和模和)之后打印两个浮点数。例如,它不会为 30/7 打印 4,而是 4.28 或其他。 TIA :)

    #include <stdio.h>
    int main()
    {
    int number1, number2, sum; //declares 3 variables
    printf("This is used to divide and find the modulo of two integers\n");
    printf("Enter your first integer: ");
    scanf("%d", &number1);
    printf("Enter your second integer: \n");
    scanf("%d", &number2);
    sum = number1 / number2; 
    printf("%d / %d = %d\n", number1, number2, sum);
    sum = number1 % number2; 
    printf("%d / %d = %\n", number1, number2, sum); 


return 0;

}

【问题讨论】:

  • %d 更改为%f。参见 man 3 printf
  • 您使用的是 C++。在不会发生此错误的情况下使用std::cout,而不是printf
  • “打印两个浮点数” - 哪个?浮点数除法不会留下余数,因此,% 甚至不适用于浮点数。

标签: c++


【解决方案1】:

要打印float,请使用%f 并将数字转换为float

printf("%d / %d = %f\n", number1, number2, (float)number1 / number2);
//                 ^                       ^^^^^^^

有关此更改的重要注意事项(已在上面突出显示):

  • %f 用于floatdouble
  • 将其中一个数字转换为 floatdouble 以进行浮点除法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 2020-08-04
    • 2015-05-05
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    相关资源
    最近更新 更多