輸入字串(長度 ≤ 50),判斷是否符合 C 標識符規則:首字符為字母或底線,其餘為字母、數字或底線。多組測資,輸出 yes/no。
[A-Za-z_][A-Za-z0-9_]n,逐行處理。#include#include #include int main() { int T; scanf("%d", &T); getchar(); while (T--) { char s[55]; fgets(s, sizeof(s), stdin); s[strcspn(s, "\n")] = 0; // 去換行 int ok = isalpha(s[0]) || s[0]=='_'; for (int i=1; ok && s[i]; i++) ok = isalnum(s[i]) || s[i]=='_'; puts(ok ? "yes" : "no"); } return 0; }
isalpha、isalnum:<ctype.h> 標準字符分類,處理地區設定更安全。strcspn:移除 fgets 保留的換行符。輸入: 3 12ajf fi8x_a ff ai_2 輸出: no yes no