【发布时间】:2021-09-27 01:40:22
【问题描述】:
问题:https://codeforces.com/problemset/problem/71/A
我试过代码:
#include <stdio.h>
int main() {
int n, lenght;
char word[99];
scanf("%d", &n);
for (int i = 0; i <= n; i++) {
gets(word);
lenght = strlen(word);
if (lenght > 10) {
printf("%c", word[0]);
printf("%d", lenght - 2);
printf("%c\n", word[lenght - 1]);
} else {
printf("%s\n", word);
}
}
return 0;
}
我的代码给了我他们想要的答案。但是该网站不批准我的代码。我可能弄错了,但我仍然无法找到问题。
拜托,如果有人能发现它,请指点给我。
【问题讨论】:
-
一个错误:
for(int i=0; i<=n; i++)应该是for(int i=0; i<n; i++) -
另一个错误:要求说“长度为 1 到 100 个字符”。但
char word[99];最多只能容纳 98 个字符(终止 NUL 需要 1 个字符)。 -
word太短了 -
@kaylum 但如果我将 word[99] 更改为 word[101],网站会显示“您之前提交过完全相同的代码”