Как написать эту программу на c? - Компьютерные вопросы

Вопрос Как написать эту программу на c?

Регистрация
15 Авг 2013
Сообщения
103
Репутация
0
Спасибо
0
Монет
0
Для целого числа � K (от 1 до 99 включительно) напечатать фразу «Мне K лет», учитывая при этом, что при некоторых значениях



K слово «лет» надо заменить на слово «год» или «года». Например, 11 лет, 22 года, 51 год.



Входные данные: Одно целое число � K, 1 ≤ � ≤ 99 1≤k≤99

Выходные данные: Фраза с правильным окончанием

Подсказки:

Не нужно писать switch с 99 ветками case. Работать, конечно, будет, но лучше подумать головой.

Окончание почти всегда зависит только от последней цифры числа

Используйте вложенные switch
 
Регистрация
2 Дек 2013
Сообщения
88
Репутация
0
Спасибо
0
Монет
0
вложенные switch не нужны, надо просто перебрать где "год", "года", а на всё остальное поставить "лет".
 
Регистрация
24 Фев 2013
Сообщения
92
Репутация
0
Спасибо
0
Монет
0
#include
int main()
{
int K;
//setlocale(LC_ALL, "Russian"); // Русская локализация консоли
printf("Введи кол-во лет: ");
scanf("%d",&K);
int digit = K % 10;
printf("Мне %d ",K);
if (digit == 1 && K != 11) {
printf("год");
}
else if ((digit >= 2 && digit 20 ) {
printf("года");
} else {
printf("лет");
}

return 0;
}
 
Регистрация
17 Дек 2013
Сообщения
96
Репутация
0
Спасибо
0
Монет
0
int t = (k / 10 % 10 != 1) * k % 10;
if (t == 1) {
print("год");
} else if (t >= 2 && t
 
Регистрация
30 Июл 2013
Сообщения
95
Репутация
0
Спасибо
0
Монет
0
А что конкретно не получается?
 
Сверху Снизу