Case10. Робот может перемещаться в четырех направлениях («С» — север, «З» — запад, «Ю» — юг, «В» — восток) и принимать три цифровые команды: 0 — продолжать движение, 1 — поворот налево, –1 — поворот направо. Дан символ $$C$$ — исходное направление робота и целое число $$N$$ — посланная ему команда. Вывести направление робота после выполнения полученной команды.
Решение:
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 |
#include <stdio.h> int main(void) { int n; char c; printf("Направление:") ; scanf ("%c", &c); printf("Команда:") ; scanf ("%i", &n); switch (c) { case 'С': switch (n) { case 1: c='З'; break; case 0: c='С'; break; case -1: c='В'; break; } break; case 'В': switch (n) { case 1: c='С'; break; case 0: c='В'; break; case -1: c='Ю'; break; } case 'Ю': switch (n) { case 1: c='В'; break; case 0: c='Ю'; break; case -1: c='З'; break; } break; case 'З': switch (n) { case 1: c='Ю'; break; case 0: c='З'; break; case -1: c='С'; break; } } printf("%c\n",c); return 0; } |
Другие задачи из раздела Case можно посмотреть здесь.
Комментарии: