03.Rounding Numbers
Здравейте Колеги,
Много си блъсках главата на тази задача, защо получавам само 75 точки, а всичко изглежда вярно.
Накрая след като сравнявах с други решения установих че само с кастване на (Int) пред (math.Round) дава 100 oт 100.
Проблемът е че все още не разбирам как това променя изхода по какъвто и да било начин, моля някой ако може да обясни.
Друго интересно наблудение е че ако ползвам decimal, дава само 50 от 100, но да не задълбаваме :D .
namespace _03.RoundingNumbers
{
internal class Program
{
static void Main(string[] args)
{
double[] input = Console.ReadLine()
.Split(" ")
.Select(double.Parse)
.ToArray();
for (int i = 0; i < input.Length; i++)
{
Console.WriteLine($"{input[i]} => {(int)Math.Round(input[i], 0, MidpointRounding.AwayFromZero)}");
}
}
}
}
3. Rounding Numbers Read an array of real numbers (space separated), round them in "away from 0" style and print the output as in the examples
Examples
Input |
Output |
0.9 1.5 2.4 2.5 3.14 |
0.9 => 1 1.5 => 2 2.4 => 2 2.5 => 3 3.14 => 3 |
-5.01 -1.599 -2.5 -1.50 0 |
-5.01 => -5 -1.599 => -2 -2.5 => -3 -1.50 => -2 0 => 0 |