#2024
首先應該對c語言的合法標誌符有一定的認識。
c語言合法標誌符:識別符號只能由字母(a-z, a-z)、數字(0~9)和下劃線(_)組成,並且第乙個字元必須是字母或下劃線,不能是數字。同時c語言標誌符不能為有特殊含義的關鍵字。
以下是合法的識別符號:
abc, xyz, x3, book_1, sum5
以下是非法的識別符號:
3s 不能以數字開頭
st 出現非法字元
-3x 不能以減號(-)開頭
bowy -1 出現非法字元減號(-),出現非法字元空格
在本題中沒有對關鍵字的識別符號給出明確的界定,也就是關鍵字在可接受範圍內。但是c語言的關鍵字這裡也補充一下吧,以免自己之後忘記了。
資料型別
1、char:字元型別,1個位元組,8位
2、int:整數型別,4個位元組,32位
3、float:浮點數型別,4個位元組,32位,保留8位有效數字
4、double:雙精度型別,8個位元組,64位,保留16位有效數字
5、short:短整數型別,2個位元組,16位
6、long:長整數型別,8個位元組,64位
7、signed:有符號型別
8、unsigned:無符號型別
9、enum:列舉型別
10、union:共同體型別,使幾個不同型別的變數共佔一段記憶體(相互覆蓋)
11、struct:結構體型別,把不同型別的資料組合成乙個整體-------自定義資料
12、void:宣告函式無返回值或無引數
控制型別
13、for:迴圈語句
14、do:迴圈語句
15、while:迴圈語句
16、break:跳出當前迴圈
17、continue:跳出當前迴圈,開始下一次的迴圈
18、if:條件語句
19、else:分支語句
20、goto:無條件跳轉語句,少用
21、switch:分支語句
22、case:和switch組合使用
23、default:其他分支
24、return:子程式返回語句
儲存型別
25、auto:宣告自動變數,很少用到
26、extern:宣告變數是在其他檔案中宣告,引用變數
27、register:宣告暫存器變數
28、static:靜態變數
其他型別
29、const:宣告唯讀變數
30、sizeof:計算資料型別長度
31、typedef:給資料型別取名
32、volatile:變數在程式執行中可以被隱含地改變
回到題目,注意需要對第一次讀取測試用例個數之後讀取換行符,不然會讀取出錯。這裡使用了isaplha()可以判斷開頭是否為字母,以及isalnum()函式判斷是否為字母或者數字,需要在頭部檔案中匯入ctype.h標頭檔案
題目直達
ac**
#include
#include
#include
#include
#include
//快速檢驗型別的標頭檔案
using
namespace std;
intmain()
for(
int i=
1; iif(flag==0)
else
}return0;
}
杭電OJ 2024 C語言合法識別符號
problem description 輸入乙個字串,判斷其是否是c的合法識別符號。input 輸入資料報含多個測試例項,資料的第一行是乙個整數n,表示測試例項的個數,然後是n行輸入資料,每行是乙個長度不超過50的字串。output 對於每組輸入資料,輸出一行。如果輸入資料是c的合法識別符號,則輸出...
杭電2024 合法識別符號
problem description 輸入乙個字串,判斷其是否是c的合法識別符號。input 輸入資料報含多個測試例項,資料的第一行是乙個整數n,表示測試例項的個數,然後是n行輸入資料,每行是乙個長度不超過50的字串。output 對於每組輸入資料,輸出一行。如果輸入資料是c的合法識別符號,則輸出...
杭電2024 C語言合法識別符號
識別符號由字母 下劃線 數字這三個方面組成,但開頭必須是字母或下劃線。另外,關鍵字不能是識別符號,如main等 識別符號由字母 下劃線 數字這三個方面組成,但開頭必須是字母或下劃線。另外,關鍵字不能是識別符號,如main等 problem description 輸入乙個字串,判斷其是否是c的合法識...