Problem Description
在十字拼字游戏中,玩家利用小卡片组成单词,每个卡片包含字母和面值。面值根据字母稀缺程度的不同而不同。面值有:1--AEILNORSTU,2--DG,3--BCMP,4--FHVWY,5--K,8--JX,10--QZ。
编写程序通过对单词中字母的面值求和来计算单词的值。注意:输入的单词可以含有大小写字母。
Input Description
在一行中输入一个单词。
Output Description
输出所求单词的值。
Sample Input
pitfall
Sample Output
12
#include <stdio.h>
#include <ctype.h>
int main(void)
{
char ch;
int sum = 0;
scanf("%c", &ch);
ch = toupper(ch);
while (ch != '\n')
{
switch (ch)
{
case 'A':
case 'E':
case 'I':
case 'L':
case 'N':
case 'O':
case 'R':
case 'S':
case 'T':
case 'U':
sum = sum + 1;
scanf("%c", &ch);
ch = toupper(ch);
break;
case 'D':
case 'G':
sum = sum + 2;
scanf("%c", &ch);
ch = toupper(ch);
break;
case 'B':
case 'C':
case 'M':
case 'P':
sum = sum + 3;
scanf("%c", &ch);
ch = toupper(ch);
break;
case 'F':
case 'H':
case 'V':
case 'W':
case 'Y':
sum = sum + 4;
scanf("%c", &ch);
ch = toupper(ch);
break;
case 'K':
sum = sum + 5;
scanf("%c", &ch);
ch = toupper(ch);
break;
case 'J':
case 'X':
sum = sum + 8;
scanf("%c", &ch);
ch = toupper(ch);
break;
case 'Q':
case 'Z':
sum = sum + 10;
scanf("%c", &ch);
ch = toupper(ch);
break;
default:
break;
}
}
printf("%d", sum);
return 0;
}