本文介绍: 【代码】TZOJ 1379 C语言合法标识符

答案

#include <stdio.h>
#include <string.h>
int main()
{
	char arr[60];
	int n = 0, i = 0, num = 0, flag;
	scanf("%d", &n);
	getchar();  //读取回车while (n--)   //循环N次
	{
		gets(arr);
		num = strlen(arr);  //num字符串长度
		flag = 1;  //假设都是真
		if ((arr[0] >= 'a' && arr[0] <= 'z') || (arr[0] >= 'A' && arr[0] <= 'Z') || (arr[0] == '_'))   //第一位如果符合c语言规定
		{
			for (i = 1; i < num; i++)   //将字符串从头到尾检查
			{
				if ((arr[i] &gt;= 'a' &amp;&amp; arr[i] <= 'z') || (arr[i] &gt;= 'A' &amp;&amp; arr[i] <= 'Z')
					|| (arr[i] &gt;= '0' &amp;&amp; arr[i] <= '9') || (arr[i] == '_'))   //如果符合c语言规定
					continue;   //判断下一个字符
				else 
				{
					flag = 0;   //不符合为假
					break;    //没必要再判断下一个字符了,直接跳出循环
				}
			}
		}
		else  //第一位如果就不符合c语言规定
		flag = 0;   //为假
		if (flag == 0)  //如果为假
			printf("non");
		else   //如果为真
			printf("yesn");
	}
	return 0;
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注