马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我一开始写了下面的代码,点击回车后只是换了行,还要再按一次回车才输出结果,结果还是错的。#include <stdio.h>
#include <ctype.h>
int main(void)
{
//输入英文字母,计算对应值的总和
const int letter_count[26] = {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 scrabble = 0;
printf("Enter a word: ");
while (getchar() != '\n') {
scrabble += letter_count[toupper(getchar()) - 'A'];
}
printf("Scrabble value: %d\n", scrabble);
return 0;
}
后面我改成ch = getchar()之后就正常了,这是为什么?这两个不一样吗?改之后的代码如下:#include <stdio.h>
#include <ctype.h>
int main(void)
{
//输入英文字母,计算对应值的总和
const int letter_count[26] = {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 scrabble = 0;
char ch;
printf("Enter a word: ");
while ((ch = getchar()) != '\n') {
scrabble += letter_count[toupper(ch) - 'A'];
}
printf("Scrabble value: %d\n", scrabble);
return 0;
}
|