gpt4 book ai didi

c - 在C中显示 float 的小数位

转载 作者:太空宇宙 更新时间:2023-11-04 01:28:49 24 4
gpt4 key购买 nike

这里我有一些简单的代码,用于在给定距离和时间的情况下计算速度。

因为我们有一个除法,所以需要一个 float 变量,但是,在我下面的程序中,它不会正确显示。

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

int NewDR=0;
float NewSR=0;
int NewTR=0;


int main()
{
printf("What is your new distance?");
scanf("%d",&NewDR);

printf("What is your new time?");
scanf("%d",&NewTR);

//NewSR = NewDR/NewTR;
NewSR = (float)NewDR/(float)NewTR; //-Fix is here, thanks

printf("Speed: %.2f",NewSR);

getch();
}

输入:

Distance: 20
Time: 3

预期输出:

Speed = 6.67

实际输出:

Speed = 6.00

最佳答案

NewDR/NewTR 中,由于两个操作数都是整数,因此执行整数除法会产生一个整数(在您的情况下为 20/3=6),然后分配给 新闻报道。要执行浮点除法,只需将任何一个变量转换为 float,如下所示:

NewSR =(float) NewDR/NewTR;

关于c - 在C中显示 float 的小数位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26778305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com