Case11. Локатор ориентирован на одну из сторон света («С» — север, «З» — запад, «Ю» — юг, «В» — восток) и может принимать три цифровые команды поворота: 1 — поворот налево, –1 — поворот направо, 2 — поворот на $$180^o$$. Дан символ $$C$$ — исходная ориентация локатора и целые числа $$N_1$$ и $$N_2$$ — две посланные команды. Вывести ориентацию локатора после выполнения этих команд.
Решение:
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 66 67 68 69 70 71 72 73 74 75 76 77 78 |
#include <stdio.h> int main(void) { int n1,n2; char c; printf("Направление:") ; scanf ("%c", &c); printf("Команда 1:") ; scanf ("%i", &n1); printf("Команда 2:") ; scanf ("%i", &n2); switch (c) { case 'С': switch (n1+n2) { case -1: case 3: c='В'; break; case 1: c='З'; break; case -2: case 2: c='Ю'; break; } break; case 'В': switch (n1+n2) { case -1: case 3: c='Ю'; break; case 1: c='С'; break; case -2: case 2: c='З'; break; } break; case 'Ю': switch (n1+n2) { case -1: case 3: c='З'; break; case 1: c='В'; break; case -2: case 2: c='С'; break; } break; case 'З': switch (n1+n2) { case -1: case 3: c='С'; break; case 1: c='Ю'; break; case -2: case 2: c='В'; break; } } printf("%c\n",c); return 0; } |
Другие задачи из раздела Case можно посмотреть здесь.
Комментарии: