輸入乙個字串,判斷其是否是c的合法識別符號。
輸入資料報含多個測試例項,資料的第一行是乙個整數n,表示測試例項的個數,然後是n行輸入資料,每行是乙個長度不超過50的字串。
對於每組輸入資料,輸出一行。如果輸入資料是c的合法識別符號,則輸出"yes",否則,輸出「no」。
312ajf
fi8x_a
ff ai_2
noyes
no
#include
#include
intmain()
else
printf
("no\n");
}}
1、不能用scanf,只能用gets(),因為輸入的資料可能有空格,scanf遇到空格就終止讀取了,很可能會導致結果錯誤。
2、getchar()必須放在while迴圈前,而不能放到while迴圈內,因為gets()直接把字串後的換行符讀入了,如果此時再用getchar(),就會把下乙個字串的第乙個字元讀取掉,從而導致結果錯誤。
3、
if
(count==len-1)
printf
("yes\n");
else
printf
("no\n"
);
必須放在
if
(a[0]==
'_'||
(a[0
]<=
'z'&&a[0]
>=
'a')
||(a[0]
>=
'a'&&a[0]
<=
'z')
)//判斷首字元是否合法
這一判斷條件內部,如果放到判斷條件外,那麼得到首字元不合法的字串會輸出一次no,在首字元不合法的情況下,count=0,也就是說,count也一定不會等於len-1,就會再輸出一次no。也就是說一共輸出兩次"no\n",就一定會導致結果錯誤。 C語言合法識別符號
輸入乙個字串,判斷其是否是c的合法識別符號。輸入資料報含多個測試例項,資料的第一行是乙個整數n,表示測試例項的個數,然後是n行輸入資料,每行是乙個長度不超過50的字串。對於每組輸入資料,輸出一行。如果輸入資料是c的合法識別符號,則輸出 yes 否則,輸出 no 3 12ajf fi8x a ff a...
C語言合法識別符號
time limit 1000ms memory limit 65536kb problem description 輸入乙個字串,判斷其是否是c的合法識別符號。input 輸入資料報含多個測試例項,資料的第一行是乙個整數n,表示測試例項的個數,然後是n行輸入資料,每行是乙個長度不超過50的字串。o...
c語言合法識別符號
time limit 1000ms memory limit 65536kb submit statistic problem description 輸入乙個字串,判斷其是否是c的合法識別符號。input 輸入資料報含多個測試例項,資料的第一行是乙個整數n,表示測試例項的個數,然後是n行輸入資料,...