#include <stdio.h>
#include <ctype.h>
// Function to return the blackjack value of two cards
int blackjack_score(char card1, char card2) {
int value1 = 0, value2 = 0;
// Helper function using a switch-case
int get_card_value(char card) {
switch (card) {
case '2': return 2;
case '3': return 3;
case '4': return 4;
case '5': return 5;
case '6': return 6;
case '7': return 7;
case '8': return 8;
case '9': return 9;
case 'T': case 'J': case 'Q': case 'K': return 10;
case 'A': return 11; // default as 11, may adjust later
default: return -1; // invalid card
}
}
value1 = get_card_value(card1);
value2 = get_card_value(card2);
// Check for invalid input
if (value1 == -1 || value2 == -1) {
printf("*** Invalid input: '%c' and/or '%c' are not valid cards.\n", card1
, card2
); return -1;
}
// Adjust for double Aces
if (card1 == 'A' && card2 == 'A') {
return 11 + 1; // First ace is 11, second is 1
}
// Adjust one ace to 11 if present
if (card1 == 'A' || card2 == 'A') {
return (value1 + value2); // only one Ace: counts as 11
}
return value1 + value2;
}
int main() {
char card1, card2;
scanf(" %c %c", &card1
, &card2
);
int score = blackjack_score(card1, card2);
if (score != -1) {
printf("The score is %d\n", score
); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxjdHlwZS5oPgoKLy8gRnVuY3Rpb24gdG8gcmV0dXJuIHRoZSBibGFja2phY2sgdmFsdWUgb2YgdHdvIGNhcmRzCmludCBibGFja2phY2tfc2NvcmUoY2hhciBjYXJkMSwgY2hhciBjYXJkMikgewogICAgaW50IHZhbHVlMSA9IDAsIHZhbHVlMiA9IDA7CgogCiAgICBjYXJkMSA9IHRvdXBwZXIoY2FyZDEpOwogICAgY2FyZDIgPSB0b3VwcGVyKGNhcmQyKTsKCiAgICAvLyBIZWxwZXIgZnVuY3Rpb24gdXNpbmcgYSBzd2l0Y2gtY2FzZQogICAgaW50IGdldF9jYXJkX3ZhbHVlKGNoYXIgY2FyZCkgewogICAgICAgIHN3aXRjaCAoY2FyZCkgewogICAgICAgICAgICBjYXNlICcyJzogcmV0dXJuIDI7CiAgICAgICAgICAgIGNhc2UgJzMnOiByZXR1cm4gMzsKICAgICAgICAgICAgY2FzZSAnNCc6IHJldHVybiA0OwogICAgICAgICAgICBjYXNlICc1JzogcmV0dXJuIDU7CiAgICAgICAgICAgIGNhc2UgJzYnOiByZXR1cm4gNjsKICAgICAgICAgICAgY2FzZSAnNyc6IHJldHVybiA3OwogICAgICAgICAgICBjYXNlICc4JzogcmV0dXJuIDg7CiAgICAgICAgICAgIGNhc2UgJzknOiByZXR1cm4gOTsKICAgICAgICAgICAgY2FzZSAnVCc6IGNhc2UgJ0onOiBjYXNlICdRJzogY2FzZSAnSyc6IHJldHVybiAxMDsKICAgICAgICAgICAgY2FzZSAnQSc6IHJldHVybiAxMTsgLy8gZGVmYXVsdCBhcyAxMSwgbWF5IGFkanVzdCBsYXRlcgogICAgICAgICAgICBkZWZhdWx0OiByZXR1cm4gLTE7ICAvLyBpbnZhbGlkIGNhcmQKICAgICAgICB9CiAgICB9CgogICAgdmFsdWUxID0gZ2V0X2NhcmRfdmFsdWUoY2FyZDEpOwogICAgdmFsdWUyID0gZ2V0X2NhcmRfdmFsdWUoY2FyZDIpOwoKICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGlucHV0CiAgICBpZiAodmFsdWUxID09IC0xIHx8IHZhbHVlMiA9PSAtMSkgewogICAgICAgIHByaW50ZigiKioqIEludmFsaWQgaW5wdXQ6ICclYycgYW5kL29yICclYycgYXJlIG5vdCB2YWxpZCBjYXJkcy5cbiIsIGNhcmQxLCBjYXJkMik7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfQoKICAgIC8vIEFkanVzdCBmb3IgZG91YmxlIEFjZXMKICAgIGlmIChjYXJkMSA9PSAnQScgJiYgY2FyZDIgPT0gJ0EnKSB7CiAgICAgICAgcmV0dXJuIDExICsgMTsgIC8vIEZpcnN0IGFjZSBpcyAxMSwgc2Vjb25kIGlzIDEKICAgIH0KCiAgICAvLyBBZGp1c3Qgb25lIGFjZSB0byAxMSBpZiBwcmVzZW50CiAgICBpZiAoY2FyZDEgPT0gJ0EnIHx8IGNhcmQyID09ICdBJykgewogICAgICAgIHJldHVybiAodmFsdWUxICsgdmFsdWUyKTsgIC8vIG9ubHkgb25lIEFjZTogY291bnRzIGFzIDExCiAgICB9CgogICAgcmV0dXJuIHZhbHVlMSArIHZhbHVlMjsKfQoKaW50IG1haW4oKSB7CiAgICBjaGFyIGNhcmQxLCBjYXJkMjsKICAgIHByaW50ZigiRW50ZXIgY2FyZHM6ICIpOwogICAgc2NhbmYoIiAlYyAlYyIsICZjYXJkMSwgJmNhcmQyKTsKCiAgICBpbnQgc2NvcmUgPSBibGFja2phY2tfc2NvcmUoY2FyZDEsIGNhcmQyKTsKCiAgICBpZiAoc2NvcmUgIT0gLTEpIHsKICAgICAgICBwcmludGYoIlRoZSBzY29yZSBpcyAlZFxuIiwgc2NvcmUpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cgo=