Loading...
g_todorov avatar g_todorov 106 Точки

18. Изписване на число до 100 с думи (лекция "Логически проверки" )

Здравейте,

след разучаване на масиви и в съчетание с if-else конструкции успях да измъдря следния сорс-код по-долу, но явно имам 

някъде синтактична грешка! Системата Judge ми дава 88/100 и сочи провал при числа под 0 и над 100... тоест първия if не работи. Мога тая 

първа if конструкция да я заменя с 2 if , но първоначалния вариант ми изглежда по-кратък респективно по-оптимален. Накратко грешката е при мен и ще съм Ви благодарен да я коригирате. 

Оценявам труда на всички, които ще отделят малко време тук, за което им благодаря!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace izpisvaneNa4islataOt_0._._._._._100
{
    class Program
    {
        static void Main(string[] args)
        {
            var num = int.Parse(Console.ReadLine());

            string[] tillNineteen = {"zero", "one", "two", "three", "four",
            "five", "six", "seven", "eight", "nine", "ten", "eleven",
            "twelve", "thirteen", "fourteen", "fifteen", "sixteen",
            "seventeen", "eighteen", "nineteen"};

            string[] tillNinety = {"twenty", "thirty", "fourty", "fifty", "sixty",
            "seventy", "eighty", "ninety"};

            if (num < 0 && num > 100)
            {
                Console.WriteLine("Invalid number");
            }
            else if (num >= 0 && num <= 19)
            {
                Console.WriteLine(tillNineteen[num]);
            }
            else if (num >= 20 && num < 100)
            {
                if (num % 10 == 0)
                {
                    Console.WriteLine(tillNinety[(num / 10) - 2]);
                }
                else
                {
                    Console.WriteLine(tillNinety[(num / 10) - 2] + " " + tillNineteen[(num % 10)]);
                }
            }
            else if (num == 100)
            {
                Console.WriteLine("one hundred");
            }
        }
    }
}

Тагове:
0
Programming Basics
vancho avatar vancho 430 Точки

num < 0 && num > 100, защо не го направиш num < 0 || num > 100

-1
g_todorov avatar g_todorov 106 Точки

Благодаря!

грешката беше елементарна :) ха - ха - ха . Сега ще си измисля упражнения с "&&" и с "||" да не ги допускам повече такива :) 

0
vancho avatar vancho 430 Точки

yes

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