站外题40pts
  • 板块学术版
  • 楼主He268435456
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/28 16:37
  • 上次更新2025/1/29 00:00:35
查看原帖
站外题40pts
1481182
He268435456楼主2025/1/28 16:37

站外题你们打不开

题目描述

给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:题目保证这些字符串一定不是C语言的保留字)。C语言标识符要求:1.非保留字;2.只包含字母、数字及下划线(“_”)。3.不以数字开头。

输入

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

输出

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

#include <iostream>
#include <cstring>
using namespace std;

int main() {
	char a[21];
	cin.getline(a, 21);
	for (long long unsigned int i = 0; i < strlen(a); i++) {
		if (i == 0)
			if (a[0] == '1' || a[0] == '2' || a[0] == '3' || a[0] == '4' || a[0] == '5' || a[0] == '6' || a[0] == '7'
			        || a[0] == '8' || a[0] == '9' || a[0] == '0') {
				cout << "no";
				break;
			} else if (a[i] != 'a' || a[i] != 'b' || a[i] != 'c' || a[i] != 'd' || a[i] != 'e' || a[i] != 'f' || a[i] != 'g'
			           || a[i] != 'h' || a[i] != 'i' || a[i] != 'j' || a[i] != 'k' || a[i] != 'l' || a[i] != 'm' || a[i] != 'n' || a[i] != 'o'
			           || a[i] != 'p' || a[i] != 'q' || a[i] != 'r' || a[i] != 's' || a[i] != 't' || a[i] != 'u' || a[i] != 'v' || a[i] != 'w'
			           || a[i] != 'x' || a[i] != 'y' || a[i] != 'z' || a[i] != '_' || a[i] != '0' || a[i] != '1' || a[i] != '2' || a[i] != '3'
			           || a[i] != '4' || a[i] != '5' || a[i] != '6' || a[i] != '7' || a[i] != '8' || a[i] != '9') {
				cout << "no";
				break;
			} else {
				cout << "yes";
			}
	}
}

样例输入

RKPEGX9R;TWyYcp

样例输出

no

2025/1/28 16:37
加载中...