1 条题解

  • 0
    @ 2026-10-7 20:01:09

    大白话思路

    检查首字符只能是字母或下划线;后续字符只能是字母、数字或下划线。数字不能放在首位,其他符号不合法。题目保证输入不含空白符且不是保留字,因此无需额外判断关键字。时间 O(L),额外空间 O(1)。

    C++17 标准解

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int main()
    {
    	char a[256];
    	int len;
    	int i;
    		
    	scanf("%s",a);
    	len=strlen(a);//计算字符串长度
    
    	if(a[0]>='0'&&a[0]<='9')	
    	{
    		cout<<"no"<<endl;//开头是数字,不满足条件
    		return 0;
    	}
    	for(i=0;i<len;i++)//若不含包含字母、数字、下划线,不满足条件
    		if(!( (a[i]>='0'&&a[i]<='9') || (a[i]>='A'&&a[i]<='Z') || (a[i]>='a'&&a[i]<='z') || a[i]=='_') )
    		{
    			cout<<"no"<<endl;
    			return 0;
    		}
    	cout<<"yes"<<endl;
    	return 0;
    }
    
    

    来源:HEEKDragonOne/ACM,一本通 1134;固定提交 29b5b378f6257c2d9ba99452d0f5b770a26c826c。仅赛后开放。

    • 1

    信息

    ID
    1005
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    25
    已通过
    7
    上传者