#include <stdio.h>
#include <string.h>
#define AGE_PENSION 60
#define AGE_MATURE 18
char* getAgeDescriptionByAge(int age)
{
if (age > 4 && age < 21)
return " лет.\n";
switch (age%10)
{
case 1:
return " год.\n";
case 2:
case 3:
case 4:
return " года.\n";
default:
return " лет.\n";
}
}
void printAgeInfo(int age)
{
char yourAgeString [64] = "Ваш возраст %d ";
char youMatureString [64] = "Вы совершеннолетний %d ";
char ageUntilMatureString [64] = "Вам до совершеннолетия %d ";
char youOnPensionString [64] = "Вы на пенсии %d ";
char ageUntilPensionString [64] = "Вам до пенсии %d ";
printf(strcat(yourAgeString
, getAgeDescriptionByAge
(age
)), age
); if (age >= AGE_MATURE)
printf(strcat(youMatureString
, getAgeDescriptionByAge
(age
-AGE_MATURE
)), age
-AGE_MATURE
); else
printf(strcat(ageUntilMatureString
, getAgeDescriptionByAge
(AGE_MATURE
-age
)), AGE_MATURE
-age
); if (age >= AGE_PENSION)
printf(strcat(youOnPensionString
, getAgeDescriptionByAge
(age
-AGE_PENSION
)), age
-AGE_PENSION
); else
printf(strcat(ageUntilPensionString
, getAgeDescriptionByAge
(AGE_PENSION
-age
)), AGE_PENSION
-age
); }
int main() {
// your code goes here
printf("ВВедите количество лет\n"); int age = 0;
if (age < 0)
printf("некорректный возраст"); printAgeInfo(age);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2RlZmluZSBBR0VfUEVOU0lPTiA2MAojZGVmaW5lIEFHRV9NQVRVUkUgMTgKCmNoYXIqIGdldEFnZURlc2NyaXB0aW9uQnlBZ2UoaW50IGFnZSkKewoJaWYgKGFnZSA+IDQgJiYgYWdlIDwgMjEpCgkJcmV0dXJuICIg0LvQtdGCLlxuIjsKCQkKICAgIHN3aXRjaCAoYWdlJTEwKQogICAgewogICAgY2FzZSAxOgogICAgICAgIHJldHVybiAiINCz0L7QtC5cbiI7CiAgICBjYXNlIDI6CiAgICBjYXNlIDM6CiAgICBjYXNlIDQ6CiAgICAgICAgcmV0dXJuICIg0LPQvtC00LAuXG4iOwogICAgZGVmYXVsdDoKICAgICAgICByZXR1cm4gIiDQu9C10YIuXG4iOwogICAgfQp9Cgp2b2lkIHByaW50QWdlSW5mbyhpbnQgYWdlKQp7CiAgICBjaGFyIHlvdXJBZ2VTdHJpbmcgWzY0XSAgPSAi0JLQsNGIINCy0L7Qt9GA0LDRgdGCICVkICI7CiAgICBjaGFyIHlvdU1hdHVyZVN0cmluZyBbNjRdID0gItCS0Ysg0YHQvtCy0LXRgNGI0LXQvdC90L7Qu9C10YLQvdC40LkgJWQgIjsKICAgIGNoYXIgYWdlVW50aWxNYXR1cmVTdHJpbmcgWzY0XSA9ICLQktCw0Lwg0LTQviDRgdC+0LLQtdGA0YjQtdC90L3QvtC70LXRgtC40Y8gJWQgIjsKICAgIGNoYXIgeW91T25QZW5zaW9uU3RyaW5nIFs2NF0gPSAi0JLRiyDQvdCwINC/0LXQvdGB0LjQuCAlZCAiOwogICAgY2hhciBhZ2VVbnRpbFBlbnNpb25TdHJpbmcgWzY0XSA9ICLQktCw0Lwg0LTQviDQv9C10L3RgdC40LggJWQgIjsKCiAgICBwcmludGYoc3RyY2F0KHlvdXJBZ2VTdHJpbmcsIGdldEFnZURlc2NyaXB0aW9uQnlBZ2UoYWdlKSksIGFnZSk7CiAgICBpZiAoYWdlID49IEFHRV9NQVRVUkUpCiAgICAgICAgcHJpbnRmKHN0cmNhdCh5b3VNYXR1cmVTdHJpbmcsIGdldEFnZURlc2NyaXB0aW9uQnlBZ2UoYWdlLUFHRV9NQVRVUkUpKSwgYWdlLUFHRV9NQVRVUkUpOwogICAgZWxzZQogICAgICAgIHByaW50ZihzdHJjYXQoYWdlVW50aWxNYXR1cmVTdHJpbmcsIGdldEFnZURlc2NyaXB0aW9uQnlBZ2UoQUdFX01BVFVSRS1hZ2UpKSwgQUdFX01BVFVSRS1hZ2UpOwogICAgaWYgKGFnZSA+PSBBR0VfUEVOU0lPTikKICAgICAgICBwcmludGYoc3RyY2F0KHlvdU9uUGVuc2lvblN0cmluZywgZ2V0QWdlRGVzY3JpcHRpb25CeUFnZShhZ2UtQUdFX1BFTlNJT04pKSwgYWdlLUFHRV9QRU5TSU9OKTsKICAgIGVsc2UKICAgICAgICBwcmludGYoc3RyY2F0KGFnZVVudGlsUGVuc2lvblN0cmluZywgZ2V0QWdlRGVzY3JpcHRpb25CeUFnZShBR0VfUEVOU0lPTi1hZ2UpKSwgQUdFX1BFTlNJT04tYWdlKTsKfQoKaW50IG1haW4oKSB7CiAgICAvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCiAgICBwcmludGYoItCS0JLQtdC00LjRgtC1INC60L7Qu9C40YfQtdGB0YLQstC+INC70LXRglxuIik7CiAgICBpbnQgYWdlID0gMDsKICAgIHNjYW5mKCIlZCIsICZhZ2UpOwoKICAgIGlmIChhZ2UgPCAwKQogICAgICAgIHByaW50Zigi0L3QtdC60L7RgNGA0LXQutGC0L3Ri9C5INCy0L7Qt9GA0LDRgdGCIik7CiAgICBwcmludEFnZUluZm8oYWdlKTsKICAgIHJldHVybiAwOwp9