这是家庭作业的问题:
编写了一个计算速度的程序:取距离(米)和时间(三个数字:小时、分钟、秒),计算速度,以米每秒、公里/小时和英里/小时(提示:1英里= 1609米)。打印结果到控制台。
这是我的代码:
int distanceInMeters, hours, minutes, seconds;
Console.WriteLine("Please type distance in meters: ");
distanceInMeters = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Please type time in hours: ");
hours = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Please type time in minutes: ");
minutes = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Please type time in seconds: ");
seconds = Convert.ToInt32(Console.ReadLine());
int metersSecond, kmH, milesH;
metersSecond = distanceInMeters / ((hours * 3600) + (minutes * 60) + seconds);
kmH = (distanceInMeters / 1000) / (hours + (minutes / 60) + (seconds / 3600));
milesH = (distanceInMeters / 1609) / (hours + (minutes / 60) + (seconds / 3600));
Console.WriteLine("Your speed in meters/seconds is: " + metersSecond);
Console.WriteLine("Please speed in km/h is: " + kmH);
Console.WriteLine("Please speed in miles/h is: " + milesH);发布于 2022-10-02 21:51:00
以下计算中的所有变量:
metersSecond = distanceInMeters / ((hours * 3600) + (minutes * 60) + seconds);是int型(整数)。因此,小数位将被削减。您可以通过执行以下操作来解决此问题:
metersSecond = 1.0 * distanceInMeters / ((hours * 3600.0) + (minutes * 60.0) + seconds)另外,metersSecond应该被声明为double、float或Dec十进制,这些类型支持您想要的十进制位置。
https://stackoverflow.com/questions/73929465
复制相似问题