我先是用的fgets后一提交零分,下载数据后在Dev-cpp上测也是对的,加上freopen也对,我看了题解发现dalao都用的gets或者getline,我就改成了gets就AC了
0分代码(用的fgets):
测评结果
#include <cstdio>
#include <cstring>
char str[250];
int ans, dict[200];
int main() {
for (int i = 0; i < 200; i++) dict[i] = 1;
dict['b'] = dict['e'] = dict['h'] = dict['k'] = 2;
dict['n'] = dict['q'] = dict['u'] = dict['x'] = 2;
dict['c'] = dict['f'] = dict['i'] = dict['l'] = 3;
dict['o'] = dict['r'] = dict['v'] = dict['y'] = 3;
dict['s'] = dict['z'] = 4;
fgets(str, sizeof(str), stdin);
str[strlen(str) - 1] = 0;
for (int i = 0; i < strlen(str); i++) {
ans += dict[str[i]];
}
printf("%d", ans);
return 0;
}
AC代码(用的gets):
测评结果
#include <cstdio>
#include <cstring>
char str[250];
int ans, dict[200];
int main() {
for (int i = 0; i < 200; i++) dict[i] = 1;
dict['b'] = dict['e'] = dict['h'] = dict['k'] = 2;
dict['n'] = dict['q'] = dict['u'] = dict['x'] = 2;
dict['c'] = dict['f'] = dict['i'] = dict['l'] = 3;
dict['o'] = dict['r'] = dict['v'] = dict['y'] = 3;
dict['s'] = dict['z'] = 4;
gets(str);
str[strlen(str) - 1] = 0;
for (int i = 0; i < strlen(str); i++) {
ans += dict[str[i]];
}
printf("%d", ans);
return 0;
}