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 <ctype.h> #include <cs50.h> #include <stdio.h> #include <string.h>
int POINTS[] = {1, 3, 3, 2, 1, 4, 2, 4, 1, 8, 5, 1, 3, 1, 1, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4, 10};
int compute_score(string word);
int small_letters[] = {97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122};
int capital_letters[] = {65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90};
int temp_Points [] = {};
int main(void) { string word1 = get_string("Player 1: "); string word2 = get_string("Player 2: ");
int score1 = compute_score(word1); int score2 = compute_score(word2);
if (score1 > score2) { printf("Player 1 wins!"); } else if (score1 == score2) { printf("Tie!"); } else { printf("Player 2 wins!"); } }
int compute_score(string word) { int score = 0; for (int i = 0; i < strlen(word); i++) { if (isupper(word[i])) { for (int f = 0; f < sizeof(capital_letters); f++) { if (word[i] == capital_letters[f]) { temp_Points[i] = POINTS[f]; score += temp_Points[i]; } } } else if (islower(word[i])) { for (int f = 0; f < sizeof(small_letters); f++) { if (word[i] == small_letters[f]) { temp_Points[i] = POINTS[f]; score += temp_Points[i]; } } } else { i += 1; } }
return score; }
|