钱眼里 2024-04-25 18:54 采纳率: 62.5%
浏览 2

为什么我的代码运行不通过

img


我自己输入几个样例是可以通过的,但是蓝桥杯不给过。哪里有错么

  • 写回答

7条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-25 18:54
    关注

    引自免费微信小程序:皆我百晓生

    在您的代码中,存在一些逻辑错误和格式错误,这可能是导致测试失败的原因。下面是修改后的代码,我已经修复了这些问题:

    #include<iostream>
    #include<string>
    
    // 函数原型声明
    bool isUnique(const std::string &str);
    
    int main() {
        std::string a;
        std::getline(std::cin, a);
    
        // 使用函数判断字符串是否唯一
        if (isUnique(a)) {
            std::cout << "YES" << std::endl;
        } else {
            std::cout << "NO" << std::endl;
        }
    
        return 0;
    }
    
    // 函数定义:检查字符串中的字符是否唯一
    bool isUnique(const std::string &str) {
        for (size_t i = 0; i < str.size(); ++i) {
            char lowerCaseChar = tolower(str[i]);
            for (size_t j = i + 1; j < str.size(); ++j) {
                if (lowerCaseChar == tolower(str[j])) {
                    return false;
                }
            }
        }
        return true;
    }
    

    主要更改包括:

    1. 将原始的 char a[100]; 更改为 std::string a;,因为使用 std::string 可以更方便地处理字符串。
    2. 修复了循环条件中的语法错误,将 '\o' 改为 '\0',并将 l='\0' 改为 j < str.size()
    3. 删除了不必要的代码块,例如 if (!isalpha(a[i])) 部分,因为我们只关心字母字符。
    4. 将原本的嵌套循环结构简化,只需要遍历字符串一次,并在内部循环中比较当前元素与其他元素。
    5. 添加了函数 isUnique 来封装判断唯一性的逻辑,使代码更加模块化。

    现在这个版本应该可以正确地检测字符串中的字符是否唯一,并且更容易阅读和维护。您可以尝试提交这个修订版代码到蓝桥杯平台进行测试。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月25日

悬赏问题

  • ¥20 python爬虫遇到空文本取不出来
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥30 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入