Малък проблем :) със задача "Изписване на число до 100 с думи" от Курса Programming Bassics, лекция Логически проверки
Здравейте, ще съм благодарен за някакви идеи как да си довърша задачата. Това ми е кода: http://pastebin.com/ebnMpKR5
Здравейте, ще съм благодарен за някакви идеи как да си довърша задачата. Това ми е кода: http://pastebin.com/ebnMpKR5
Ще ти стане много дълъг кода. Не можах да се сетя за за някакъв по-елегантен начин, защото съм начинаещ програмист, но ще получиш 100 точки. Можеш да използваш if else или switch. Ето едно решение:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication51
{
class Program
{
static void Main(string[] args)
{
var num = int.Parse(Console.ReadLine());
if (num == 0)
{
Console.WriteLine("zero");
}
else if (num == 1)
{
Console.WriteLine("one");
}
else if (num == 2)
{
Console.WriteLine("two");
}
else if (num == 3)
{
Console.WriteLine("three");
}
else if (num == 4)
{
Console.WriteLine("four");
}
else if (num == 5)
{
Console.WriteLine("five");
}
else if (num == 6)
{
Console.WriteLine("six");
}
else if (num == 7)
{
Console.WriteLine("seven");
}
else if (num == 8)
{
Console.WriteLine("eight");
}
else if (num == 9)
{
Console.WriteLine("nine");
}
else if (num==10)
{
Console.WriteLine("ten");
}
else if (num == 11)
{
Console.WriteLine("eleven");
}
else if (num == 12)
{
Console.WriteLine("twelve");
}
else if (num == 13)
{
Console.WriteLine("thirteen");
}
else if (num == 14)
{
Console.WriteLine("fourteen");
}
else if (num == 15)
{
Console.WriteLine("fifteen");
}
else if (num == 16)
{
Console.WriteLine("sixteen");
}
else if (num == 17)
{
Console.WriteLine("seventeen");
}
else if (num == 18)
{
Console.WriteLine("eighteen");
}
else if (num == 19)
{
Console.WriteLine("nineteen");
}
else if (num==20)
{
Console.WriteLine("twenty");
}
else if (num == 21)
{
Console.WriteLine("twenty one");
}
else if (num == 22)
{
Console.WriteLine("twenty two");
}
else if (num == 23)
{
Console.WriteLine("twenty three");
}
else if (num == 24)
{
Console.WriteLine("twenty four");
}
else if (num == 25)
{
Console.WriteLine("twenty five");
}
else if (num == 26)
{
Console.WriteLine("twenty six");
}
else if (num == 27)
{
Console.WriteLine("twenty seven");
}
else if (num == 28)
{
Console.WriteLine("twenty eight");
}
else if (num == 29)
{
Console.WriteLine("twenty nine");
}
else if (num == 30)
{
Console.WriteLine("thirty");
}
else if (num == 31)
{
Console.WriteLine("thirty one");
}
else if (num == 32)
{
Console.WriteLine("thirty two");
}
else if (num == 33)
{
Console.WriteLine("thirty three");
}
else if (num == 34)
{
Console.WriteLine("thirty four");
}
else if (num == 35)
{
Console.WriteLine("thirty five");
}
else if (num == 36)
{
Console.WriteLine("thirty six");
}
else if (num == 37)
{
Console.WriteLine("thirty seven");
}
else if (num == 38)
{
Console.WriteLine("thirty eight");
}
else if (num == 39)
{
Console.WriteLine("thirty nine");
}
else if (num == 40)
{
Console.WriteLine("fourty");
}
else if (num == 41)
{
Console.WriteLine("fourty one");
}
else if (num == 42)
{
Console.WriteLine("fourty two");
}
else if (num == 43)
{
Console.WriteLine("fourty three");
}
else if (num == 44)
{
Console.WriteLine("fourty four");
}
else if (num == 45)
{
Console.WriteLine("fourty five");
}
else if (num == 46)
{
Console.WriteLine("fourty six");
}
else if (num == 47)
{
Console.WriteLine("fourty seven");
}
else if (num == 48)
{
Console.WriteLine("fourty eight");
}
else if (num == 49)
{
Console.WriteLine("fourty nine");
}
else if (num == 50)
{
Console.WriteLine("fifty");
}
else if (num == 51)
{
Console.WriteLine("fifty one");
}
else if (num == 52)
{
Console.WriteLine("fifty two");
}
else if (num == 53)
Console.WriteLine("fifty three");
}
else if (num == 54)
{
Console.WriteLine("fifty four");
}
else if (num == 55)
{
Console.WriteLine("fifty five");
}
else if (num == 56)
{
Console.WriteLine("fifty six");
}
else if (num == 57)
{
Console.WriteLine("fifty seven");
}
else if (num == 58)
{
Console.WriteLine("fifty eight");
}
else if (num == 59)
{
Console.WriteLine("fifty nine");
}
else if (num == 60)
{
Console.WriteLine("sixty");
}
else if (num == 61)
{
Console.WriteLine("sixty one");
}
else if (num == 62)
{
Console.WriteLine("sixty two");
}
else if (num == 63)
{
Console.WriteLine("sixty three");
}
else if (num == 64)
{
Console.WriteLine("sixty four");
}
else if (num == 65)
{
Console.WriteLine("sixty five");
}
else if (num == 66)
{
Console.WriteLine("sixty six");
}
else if (num == 67)
{
Console.WriteLine("sixty seven");
}
else if (num == 68)
{
Console.WriteLine("sixty eight");
}
else if (num == 69)
{
Console.WriteLine("sixty nine");
}
else if (num == 70)
{
Console.WriteLine("seventy");
}
else if (num == 71)
{
Console.WriteLine("seventy one");
}
else if (num == 72)
{
Console.WriteLine("seventy two");
}
else if (num == 73)
{
Console.WriteLine("seventy three");
}
else if (num == 74)
{
Console.WriteLine("seventy four");
}
else if (num == 75)
{
Console.WriteLine("seventy five");
}
else if (num == 76)
{
Console.WriteLine("seventy six");
}
else if (num == 77)
{
Console.WriteLine("seventy seven");
}
else if (num == 78)
{
Console.WriteLine("seventy eight");
}
else if (num == 79)
{
Console.WriteLine("seventy nine");
}
else if (num == 80)
{
Console.WriteLine("eighty");
}
else if (num == 81)
{
Console.WriteLine("eighty one");
}
else if (num == 82)
{
Console.WriteLine("eighty two");
}
else if (num == 83)
{
Console.WriteLine("eighty three");
}
else if (num == 84)
{
Console.WriteLine("eighty four");
}
else if (num == 85)
{
Console.WriteLine("eighty five");
}
else if (num == 86)
{
Console.WriteLine("eighty six");
}
else if (num == 87)
{
Console.WriteLine("eighty seven");
}
else if (num == 88)
{
Console.WriteLine("eighty eight");
}
else if (num == 89)
{
Console.WriteLine("eighty nine");
}
else if (num == 90)
{
Console.WriteLine("ninety");
}
else if (num == 91)
{
Console.WriteLine("ninety one");
}
else if (num == 92)
{
Console.WriteLine("ninety two");
}
else if (num == 93)
{
Console.WriteLine("ninety three");
}
else if (num == 94)
{
Console.WriteLine("ninety four");
}
else if (num == 95)
{
Console.WriteLine("ninety five");
}
else if (num == 96)
{
Console.WriteLine("ninety six");
}
else if (num == 97)
{
Console.WriteLine("ninety seven");
}
else if (num == 98)
{
Console.WriteLine("ninety eight");
}
else if (num == 99)
{
Console.WriteLine("ninety nine");
}
else if (num == 100)
{
Console.WriteLine("one hundred");
}
else
{
Console.WriteLine("invalid number");
}
}
}
}
{
Този код е мазохизъм :)
Така е, обаче дава 100 точки.
това е код легенда .... :)
Ако целта са ти само 100те точки можеш да си сложиш по един иф за всеки тест в джъджа. Щеше да спестиш няколко хиляди символа.
Благодаря за вниманието, за този вариант и аз се сещам, но ще се опитам по- кратко да го направя. Поздрави и успех!
Нормалния вариант е да делиш на %10 , така ще взимаш само последното число и така с if или switch ще проверяваш само 10 пъти.
Пример: 55%10 = 5 , 87 % 10 = 7 , След като си направиш 10 if или switch за последната цифра ще я вземиш по-лесно отколкото да я провериш 100 пъти.
Накратко как трябва да структурираш задачата.
1.Част - 10 if проверки за числата от 0 до 9 , една за числото 100 , една за повече от 100 или по-малко от 0.
2.Част - ако не си в тези случай и имаш числото 85 примерно:
int firstNumber = 85/10 -> получаваш число равно което в случая е 8 (10 if/switch проверки за това число Ако е 8 eight , ако е 1 оне и така...)
int secondNumber = 85%10 -> получаваш 5 в случая (10 if/switch проверки за това число Ако е 8 eight , ако е 1 оне и така...)
може би трябва да се въведе правило бъдещите програмисти да са и леко мързеливи :)
То това си е константа :)
Много точен отговор. Благодаря!