Case20. Даны два целых числа: $$D$$ (день) и $$M$$ (месяц), определяющие правильную дату. Вывести знак Зодиака, соответствующий этой дате: «Водолей» (20.1–18.2), «Рыбы» (19.2–20.3), «Овен» (21.3–19.4), «Телец» (20.4–20.5), «Близнецы» (21.5–21.6), «Рак» (22.6–22.7), «Лев» (23.7–22.8), «Дева» (23.8–22.9), «Весы» (23.9–22.10), «Скорпион» (23.10–22.11), «Стрелец» (23.11–21.12), «Козерог» (22.12–19.1).
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
#include <stdio.h> int main(void) { system("chcp 1251"); int d,m; printf("день:") ; scanf ("%i", &d); printf("месяц:") ; scanf ("%i", &m); switch (m) { case 1: if (d>19) printf("Водолей"); else printf("Козерог"); break; case 2: if (d>18) printf("Рыбы"); else printf("Водолей"); break; case 3: if (d>20) printf("Овен"); else printf("Рыбы"); break; case 4: if (d>19) printf("Телец"); else printf("Овен"); break; case 5: if (d>20) printf("Близнецы"); else printf("Телец"); break; case 6: if (d>21) printf("Рак"); else printf("Близнецы"); break; case 7: if (d>22) printf("Лев"); else printf("Рак"); break; case 8: if (d>22) printf("Дева"); else printf("Лев"); break; case 9: if (d>22) printf("Весы"); else printf("Дева"); break; case 10: if (d>22) printf("Скорпион"); else printf("Весы"); break; case 11: if (d>22) printf("Стрелец"); else printf("Скорпион"); break; case 12: if (d>21) printf("Козерог"); else printf("Стрелец"); break; } printf("\n"); return 0; } |
Другие задачи из раздела Case можно посмотреть здесь.
Ошибка в решении. Попробуйте, например, ввести 20 марта — в вашем случае это уже будет «Овен», хотя, как следует из условия задачи, 20.03 это еще «Рыбы». Следует в каждом исправить даты в каждом случае.
Большое спасибо. Поправил:
Было:
Стало: