Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

JanNikolov avatar JanNikolov 0 Точки

Coding 101 Exam - 24 April 2016, 03.Операции между числа

Здравейте, искам да попитам къде ми е грешката в тази задача. Това ми е кода:

using System;

class Program
{
    static void Main()
    {
        int firstNumber = int.Parse(Console.ReadLine());
        int secondNumber = int.Parse(Console.ReadLine());
        string sign = Console.ReadLine();
        if (sign == "+")
        {
            Console.Write("{0} + {1} = {2} - ", firstNumber, secondNumber, firstNumber + secondNumber);
            if ((firstNumber + secondNumber) % 2 == 0)
            {
                Console.WriteLine("even");
            }
            else
            {
                Console.WriteLine("odd");
            }
        }
        else if (sign == "-")
        {
            Console.Write("{0} - {1} = {2} - ", firstNumber, secondNumber, firstNumber - secondNumber);
            if ((firstNumber - secondNumber) % 2 == 0)
            {
                Console.WriteLine("even");
            }
            else
            {
                Console.WriteLine("odd");
            }
        }
        else if (sign == "/")
        {
            if (secondNumber == 0)
            {
                Console.WriteLine("Cannot divide {0} by zero", firstNumber);
                return;
            }
            double result = (double)firstNumber / (double)secondNumber;
            Console.WriteLine("{0} / {1} = {2}", firstNumber, secondNumber, Math.Round(result, 2));
        }
        else if (sign == "*")
        {
            Console.Write("{0} * {1} = {2} - ", firstNumber, secondNumber, firstNumber * secondNumber);
            if ((firstNumber * secondNumber) % 2 == 0)
            {
                Console.WriteLine("even");
            }
            else
            {
                Console.WriteLine("odd");
            }
        }
        else if (sign == "%")
        {
            if (secondNumber == 0)
            {
                Console.WriteLine("Cannot divide {0} by zero", firstNumber);
                return;
            }
            Console.WriteLine("{0} % {1} = {2}", firstNumber, secondNumber, firstNumber % secondNumber);
        }

    }
}


Дава ми 90 от 100 точки. Според системата имам грешка на Тест 1, проверих какъв е input-а за този тест от папката с тестовете и за този input(55, 5, /) плучавам output-а който трябва (55 / 5 = 11) когато го тествам на компиютъра си, но judge системата ми дава грешка.

Благодаря предварително за отделеното време!

Тагове:
0
Programming Basics
Luko193 avatar Luko193 342 Точки

Грешка прави Math.Round, смени го с плейсхолдър: 

"{0} / {1} = {2:F2}", firstNumber, secondNumber, result

 

0
AntyfrizZz avatar AntyfrizZz 238 Точки

Здравей,

 

Пропускаш важна подробност при деленето. Не си си прочел условието. Прочети го пак и ако все още не си намираш грешката ще ти кажа къде е.

 

Поздрави!

0
JanNikolov avatar JanNikolov 0 Точки

Благодаря ви много и на двамата. Вчера когато ми даде грешка, предположих ,че може би е заради закръглянето и пробвах да закръгля до 3-тия знак след десетичната запетая и после да изрежа последния символ от числото(answer.Substring(0, answer.Lenght - 1)) понеже не знаех това с форматирането на числа(благодаря на Luko193 за което), но пак получих 90 точки. Ако някой има идея защо се радвам да ми обясни. Иначе предложението на Luko193 сработи перфектно.

 

 

 

0
AntyfrizZz avatar AntyfrizZz 238 Точки

Здравей,

 

На твоето решение само добави закръглянето и взех 100 точки. Не знам къде бъркаш.

Console.WriteLine("{0} / {1} = {2:F2}", firstNumber, secondNumber, Math.Round(result, 2));

 

Поздрави!

0
stanchev1 avatar stanchev1 122 Точки

Ето едно примерно решение и от мен с if-else конструкции : http://pastebin.com/jhzKvU94

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.