求助
  • 板块学术版
  • 楼主z_y_b
  • 当前回复8
  • 已保存回复8
  • 发布时间2022/8/21 16:04
  • 上次更新2023/10/27 14:18:41
查看原帖
求助
748270
z_y_b楼主2022/8/21 16:04

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

C语言标识符要求:

  1. 非保留字;

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

  3. 不以数字开头。

输入 一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。 输出 一行,如果它是C语言的合法标识符,则输出yes,否则输出no。 样例输入 RKPEGX9R;TWyYcp 样例输出 no

#include<bits/stdc++.h>
using namespace std;
int main()
{
	char a[22];
	cin.getline(a,22);
	int len=strlen(a);
	if(a[0]>='0'&&a[0]<='9')
	{
		cout<<"no";
		return 0;
	}
	int q=1,w;
	for(int i=1;i<len;i++)
	{
		if(a[i]>='A'&&a[i]<='Z'||a[i]>='a'&&a[i]<='z'||a[i]=='_'||a[i]>='0'&&a[i]<='9')
		{
			q=0;
		}
		else
		{
			q=1;
			break;		
		} 
	}
	if(q)cout<<"no";
	else cout<<"yes";
}

这个代码样例过了,但还是过不了

2022/8/21 16:04
加载中...