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");
}
}
}
}
Благодаря!
грешката беше елементарна :) ха - ха - ха . Сега ще си измисля упражнения с "&&" и с "||" да не ги допускам повече такива :)