You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Codeforces 71A《Way Too Long Words》代码提交错误排查求助

Codeforces 71A题代码错误排查

代码存在的核心问题:

  • 变量未声明:代码中使用了变量n但未提前声明,本地宽松的编译环境可能放过这个问题,但Codeforces的编译标准会直接报错。需要在main函数开头添加int n;。
  • 完全误解题目逻辑:题目要求是输入n个单词,对每个单词判断:若长度超过10,输出「首字母+中间字符数量+尾字母」;否则原样输出。但你的代码硬编码了固定字符串palv,还错误地用字符串长度和n做比较,完全没处理输入的目标单词。
  • 输入输出流程错误:正确流程应该是先读入n,再循环n次处理每个输入的单词;你的代码既没有循环处理多单词,也没有读取用户输入的单词,用固定字符串跑逻辑,必然不符合题目要求。

修正后的示例代码:

#include <stdio.h>
#include <string.h>

int main() {
    int n;
    scanf("%d", &n);
    
    // 循环处理n个输入单词
    for (int i = 0; i < n; i++) {
        char word[101];
        scanf("%s", word);
        int len = strlen(word);
        
        if (len <= 10) {
            printf("%s\n", word);
        } else {
            printf("%c%d%c\n", word[0], len - 2, word[len - 1]);
        }
    }
    return 0;
}

修正说明:

  1. 补全了n的变量声明;
  2. 使用标准库strlen函数获取字符串长度,替代自定义的count函数,更简洁可靠;
  3. 增加循环逻辑,依次处理每个输入的单词;
  4. 按照题目要求,用单词自身的长度判断是否需要缩写,而非和n比较;
  5. 每个结果后添加换行符,符合题目输出格式要求(每个结果单独一行)。

内容的提问来源于stack exchange,提问作者David feoerwg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:05:25