m0_61138145 2022-05-12 22:29 采纳率: 88.2%
浏览 35
已结题

这个在平台上为什么提交不了(C语言合法标识符)

img


#include <stdio.h>

int main() {
    int n, i;
    char a[52];
    scanf("%d", &n);
    getchar();
    while (n--) {
        gets(a);
        if (a[0] == '_' || a[0] >= 'a' && a[0] <= 'z' || 'A' <= a[0] && a[0] <= 'Z') {
            for (i = 1; a[i] != '\0'; i++) {
                if (a[i] == '_' || a[i] >= 'a' && a[i] <= 'z' || a[i] >= '0' && a[i] <= '9' || 'A' <= a[0] && a[0] <= 'Z')
                    continue;
                else {
                    printf("no\n");
                    break;
                }
            }
            if (a[i] == '\0')
                printf("yes\n");
        } else
            printf("no\n");
    }
    return 0;
}

这样写没有发现有错误的样例啊,但为什么平台上就是过不了,是哪里出错了?

  • 写回答

3条回答 默认 最新

  • 关注

    for中的if是
    是'A' <= a[i] && a[i] <= 'Z' ,不是'A' <= a[0] && a[0] <= 'Z'

     if (a[i] == '_' || a[i] >= 'a' && a[i] <= 'z' || a[i] >= '0' && a[i] <= '9' || 'A' <= a[0] && a[0] <= 'Z')
                
    

    改成

     if (a[i] == '_' || a[i] >= 'a' && a[i] <= 'z' || a[i] >= '0' && a[i] <= '9' || 'A' <= a[i] && a[i] <= 'Z')
                
    

    你题目的解答代码如下:

    #include <stdio.h>
    
    int main() {
        int n, i;
        char a[52];
        scanf("%d", &n);
        getchar();
        while (n--) {
            gets(a);
            if (a[0] == '_' || a[0] >= 'a' && a[0] <= 'z' || 'A' <= a[0] && a[0] <= 'Z') {
                for (i = 1; a[i] != '\0'; i++) {
                    //是'A' <= a[i] && a[i] <= 'Z'
                    if (a[i] == '_' || a[i] >= 'a' && a[i] <= 'z' || a[i] >= '0' && a[i] <= '9' || 'A' <= a[i] && a[i] <= 'Z')
                        continue;
                    else {
                        printf("no\n");
                        break;
                    }
                }
                if (a[i] == '\0')
                    printf("yes\n");
            } else
                printf("no\n");
        }
        return 0;
    }
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月20日
  • 已采纳回答 5月12日
  • 创建了问题 5月12日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度