程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDOJ 2024 C語言合法標識符

HDOJ 2024 C語言合法標識符

編輯:C++入門知識

HDOJ 2024 C語言合法標識符


C語言合法標識符

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 37056 Accepted Submission(s): 14897



Problem Description 輸入一個字符串,判斷其是否是C的合法標識符。

Input 輸入數據包含多個測試實例,數據的第一行是一個整數n,表示測試實例的個數,然後是n行輸入數據,每行是一個長度不超過50的字符串。

Output 對於每組輸入數據,輸出一行。如果輸入數據是C的合法標識符,則輸出"yes",否則,輸出“no”。

Sample Input
3
12ajf
fi8x_a
ff  ai_2

Sample Output
no
yes
no

Author lcy
Source C語言程序設計練習(四)
Recommend lcy | We have carefully selected several similar problems for you: 2025 2026 2021 2027 2030



------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
這道題目首先得知道什麼是C語言合法標識符:

(1)、首元素只能是下劃線或是字母,
(2)、除首元素外的元素只能是數字、下劃線和字母)

先判斷第一個字符是否符合開頭規則,然後再逐一判斷每個字符。

AC代碼:

#include 
#include 
using namespace std;
int main()
{
	string a;
	int n;
	cin >> n;
	getchar();
	while (n--){
		getline(cin, a);
		bool flag = true;
		if (!(a[0] == '_' || ('A' <= a[0] && a[0] <= 'z'))){
			flag = false;
			cout << "no" << endl;
			continue;
		}
		for (int i = 0; i < a.size(); i++){

			if (!(a[i] == '_' || (a[i] >= '0'&&a[i] <= '9') || ('A' <= a[i] && a[i] <= 'Z') || ('a' <= a[i] && a[i] <= 'z')))
			{
				flag = false;
				cout << "no" << endl;
				break;
			}
		}
		if (flag)
			cout << "yes" << endl;
	}
	return 0;
}




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved