Data Types and Methods - Exercises, 11. Convert Speed Units
Здравейте, колеги!
Имам проблем с форматирането на отговора на задачата от заглавието. Това е решението ми.
Тъй като в условието пише "Every number in the output should be precise up to 6 digits after the floating point", използвам {0:F7} в плейсхолъра, което е правилно според първия тест. Втория и третия обаче явно искат общо 7 цифри, без значение къде е десетичната запетая. Ще съм благодарен, ако някой бутне едно рамо.
Здравей. h, m, s няма нужда да са double. Също така мисля че тази задача минава с float, но не и с double за изхода. Ето твоето решение фикснато: https://dotnetfiddle.net/5jTvZh
Промени си променливите на float и махни форматирането при печатането
Неправилни са ти някои от имената на променливите също, защото започват с главни букви
Благодаря за отговора ambiorix, свърши работа :).
Това е моят код, в който променливите са само от два типа данни (float и byte), за да използвам по-малко памет:
namespace ConvertSpeedUnits
{
class Program
{
static void Main(string[] args)
{
float distance = float.Parse(Console.ReadLine());
byte hours = byte.Parse(Console.ReadLine());
byte minutes = byte.Parse(Console.ReadLine());
byte seconds = byte.Parse(Console.ReadLine());
float TimeSec = hours * 3600.0f + minutes * 60.0f + seconds;
float TimeHour = hours + minutes / 60.0f + seconds / 3600.0f;
float MetersSec = distance / TimeSec;
float KilometersHour = (distance / 1000.0f) / TimeHour;
float MilesHour = (distance / 1609.0f) / TimeHour;
Console.WriteLine(MetersSec); //meters per second
Console.WriteLine(KilometersHour); //kilometers per hour
Console.WriteLine(MilesHour); //miles per hour
}
}
}