测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A46339. 合法C标识符查给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:题目保证这些字符串一定不是C语言的保留字)。C语言标识符要求:1.非保留字;2.只包含字母、数字及下划线(“_”)。3.不以数字开头。输入一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。输出一行,如果它是C语言的合法标识符,则输出yes,否则输出no。输入样例RKPEGX9R;TWyYcp输出样…

填空题 较易

题目描述

合法C标识符查

给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:题目保证这些字符串一定不是C语言的保留字)。


C语言标识符要求:

1.非保留字;

2.只包含字母、数字及下划线(“_”)。

3.不以数字开头。

输入

一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。

输出

一行,如果它是C语言的合法标识符,则输出yes,否则输出no。

输入样例

RKPEGX9R;TWyYcp

输出样例

no

参考答案

#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() { int len; bool flag=1; char s[20]; gets(s); len=strlen(s); for(int i=0; i<len; i++) { if(s[0]>='0'&&s[0]<='9') {//不以数字开头 cout << "no" << endl; flag=0; break; } if(!( (s[i]>='0'&&s[i]<='9') || (s[i]>='A'&&s[i]<='Z') || (s[i]>='a'&&s[i]<='z') || s[i]=='_') ) {//只包含字母、数字及下划线(“_”) cout << "no" << endl; flag=0; break; } } if(flag==1) { cout << "yes" << endl; } return 0; }
上一题 下一题