Попытка решить проблему на kattis.com под названием «Бела», которая требует некоторого сравнения символов, но когда я запускаю свой код, функция scanf () не вызывается время последних пар для последних пар итераций l oop.
вот мой код:
#include <stdio.h>
int main( void ) {`
char dom;
int n;
scanf("%d %c", &n, &dom);
n*=4;
int sum = 0;
for (int i = 0; i < n; i++) {
char num;
char suit;
scanf("%c%c", &num, &suit);
switch (num) {
case 'A':
sum += 11;
break;
case 'K':
sum += 4;
break;
case 'Q':
sum += 3;
break;
case 'J':
if (suit == dom) { sum +=20;}
else { sum += 2;}
break;
case 'T':
sum+=10;
break;
case '9':
if (suit == dom){sum+=14;}
break;
case '8':
break;
case '7':
break;
default:
continue;
}
}
printf("%d", sum);
return 0;
}
, и когда я запускаю программу с этим тестом, я получаю это:
:~$ ./a.out
^V
2 S
TH
9C
KS
QS
JS
TD3
AD
JH
:~$ TD
TD: command not found
:~$ AD
AD: command not found
:~$ JH
JH: command not found
почему для l oop не выполняется полностью? Есть ли что-нибудь неправильно в моем коде, что оператор регистра переключателя не оценивает "TD", "AD", "JH"?