C# · 12月 20, 2021

HDU 2024 C语言合法标识符

这道题是帮大家回忆合法标识符的限制条件吧。。。

读入字符串两个地方需要注意,第一个是输入完数量之后需要一个getchar来读取回车符

第二个是读入一整行字符需要用gets

#include

#include

#include

using namespace std;

void main()

{

int n;

scanf(“%d”,&n);

char str[55];

int len;

getchar();//读取回车

while(n–)

{

int i;

gets(str);

len = strlen(str);

if( !(str[0] >=’a’&&str[0]=’A’ && str[0]<='Z') && !(str[0] == '_') )

{

printf(“non”);

continue;

}

for ( i=1;i<len;i++)

{

if( !(str[i] >=’a’&&str[i]=’A’ && str[i]<='Z') && !(str[i] == '_')

&& !(str[i] >=’0’&&str[i]<='9'))

{

printf(“non”);

break;

}

}

if( i == len)

printf(“yesn”);

}

}