我想创建一个程序,通过求和它的字母值来计算一个单词的值。C程序 - 混淆输出
这些是字母和它们的相应的值:
- 1点:A,E,I,L,N,O,R,S,T,U
- 2分:d,G
- 3点:B,C,M,P
- 4分:F,H,V,W,Y
- 5分:K
- 8分:J-,X
- 10分:Q,Z
这里的程序:
#include <stdio.h>
#include <ctype.h>
int main(void)
{
char ch; int sum=0;
printf("Enter a word: ");
while ((ch=getchar())!='\n') {
toupper(ch);
if (ch== 'A' || ch== 'E' || ch== 'I' || ch== 'L' || ch== 'N' || ch== 'O' || ch== 'R' || ch== 'S' || ch== 'T' || ch== 'U')
sum+=1;
else if (ch== 'D' || ch== 'G')
sum+=2;
else if (ch=='B' || ch== 'C' || ch== 'M' || ch== 'P')
sum+=3;
else if (ch=='F' || ch== 'H' || ch== 'V' || ch== 'W' || ch== 'Y')
sum+=4;
else if (ch=='K')
sum+=5;
else if (ch=='J' || ch== 'X')
sum+=8;
else if (ch=='Q' || ch== 'Z')
sum+=10;
}
printf("\nScrabble value: %d",sum);
return 0;
}
当我运行它打印 “拼字值:0” 的方案。似乎程序完全跳过while循环,也许我没有正确使用getchar,但我无法弄清楚什么是错的。
对于拼字游戏中的每个字母,点数都是相同的点数。是这样,您是在创建一些与拼字游戏相关的程序吗? –
是的,我正在读一本书,创建这个程序是一个练习。 –
谢谢你们!我并不期待如此快速的答案。 –