HDU 2024 C語言合法識別符號

淡定的小魚發表於2014-07-26

C語言合法識別符號

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


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
 


雖然在DV上執行錯了,但AC了,不知道為啥

合法的標示符;連結:http://wenwen.sogou.com/z/q514771530.htm?w=c%D3%EF%D1%D4%BA%CF%B7%A8%B1%EA%CA%B6%B7%FB%CA%C7%CA%B2%C3%B4&spi=1&sr=1&w8=c%E8%AF%AD%E8%A8%80%E5%90%88%E6%B3%95%E6%A0%87%E8%AF%86%E7%AC%A6%E6%98%AF%E4%BB%80%E4%B9%88&qf=20&rn=145&qs=4&ch=new.w.search.1&ch=1


#include<stdio.h>
#include<string.h>
char str[55];
int main()
{
	int n,len,i,s,s1;
	scanf("%d",&n);
	getchar();
	while(n--)
	{
		s=s1=0;
		gets(str);
		len=strlen(str);
		for(i=0;i<len;i++)
		{
			if(str[i]=='_')  s++;
			if(str[i]>='0'&&str[i]<='9'&&i!=0||str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')
			s1++;
		}
		if(len==s+s1)   printf("yes\n");
		else       printf("no\n");
	}
	return 0;
}






相關文章