精华内容
下载资源
问答
  • 输入一个字符串,判断其是否是C的合法标识符。 Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。 Output 对于每...
  • 输入一个字符串,判断其是否是C的合法标识符。 Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。 Output 对于每...
  • 如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。 #include<stdio.h> #include<string.h>//在使用字符串处理函数时,应当在程序文件的开头加入此头文件 int main(...

    输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。
    对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。

    #include<stdio.h>
    #include<string.h>//在使用字符串处理函数时,应当在程序文件的开头加入此头文件
    int main()
    {
     int n,i,j=1;
     char a[50];
     while(scanf("%d",&n)!=EOF)
     {
      getchar();//把第一个输入的字符n吸收掉
      while(n--)
      {
       gets(a);
       if(!(a[0]=='_'||(a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z')))//gets()存储字符串到数组时,是从a[0]开始储存的,先判断第一个字符是否是合法字符
              printf("no\n");
       else
       {
         for(i=1;a[i]!='\0';i++)//判断完第一个字符后,从啊[1]开始往后逐一判断各个字符是否是合法字符,直到'\0'结束,用gets()存储字符串时会自动在末尾加上'\0'
         {
           if(!(a[i]=='_'||(a[i]>='0'&&a[i]<='9')||(a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')))
           {
             printf("no\n");
             break;
           }
         }
         if(i==strlen(a))//如果i的值等于这个字符串的长度,则表明这个字符串的字符都是合法标识符
        {
         printf("yes\n");
        }
       }
      }
     }
     return 0;
    }
    

    在C语言中,规定标识符只能由 字母 , 数字 , 下划线组成, 且第一个字符必须为字母或下划线.
    合法的标识符如下:
    sum,average,_total,Class,day,month,Student,Student_name,tan,louts_1_2_3,BASIC,li_ling等
    非法的标识符如下:
    M.D.John,#123,3D45,a>b等
    补充:
    (1).标识符只能由字母、数字和下划线三类字符组成
    (2).第一个字符必须是字母(第一个字符也可以是下划线,但被视作系统自定义的标识符)
    (3).大写字母和小写字母被认为是两个不同的字符,如A和a是两个不同的标识符
    (4).标识符可以任意长,但只有前32位有效。有些旧的C版本对外部标识符的限制为6位。这是由于链接程序的限制所总成的,而不是C语言本身的局限性
    (5).标识符不能是C的关键字

    展开全文
  • 输入一个字符串,判断其是否是C的合法标识符。 Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。 Output 对于每组输入数据,...

    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

    代码

    #include"stdio.h"
    #include"string.h" 
    int main()
    {
    	int i,n,len,flag;
    	char array[50];
    	scanf("%d",&n);
    	getchar();//获取回车符 
    	while(n--)
    	{
    		flag = 0;//标记 
    		gets(array);  // 输入字符串 
    		len = strlen(array);//测量字符串长度 
    		for (i = 0;i < len;i++)
    		{
    			if(array[i] == ' ')
    				flag++;
    		}//用于记录是否含有空格 
    		if (flag != 0) 	printf("no\n");//如果flag不等于0就说明有空格,就是错误输入 
    		else if('A' <= array[0] && array[0] <= 'Z'|| 'a' <= array[0] && array[0] <= 'z' || array[0] == '_')
    		/*在判断首个字符是字母或者_的情况下进行下面的判断*/
    		{
    			for(i=1;i<len;i++)
    				{
    					if('A' <= array[i] && array[i] <= 'Z' || 'a' <= array[i] && array[i] <= 'z' || array[i] == '_' || 48 <= array[i] && array[i] <= 57)
    						continue;  // 合法标识符即为第一位只能为字母或者下划线,剩下的只能为字母、数字下滑线 
    					else break;
    				}
    			if(i == len)//如果说i已经等于了len,就意味着arry[1]--a[len]都是满足合法字符定义的 
    				printf("yes\n");
    			else
    				printf("no\n");//否则就不满足 
    		}
    		else
    			printf("no\n");//如果首字符不是字母,则直接输入no 
    	}	
    	return 0;
     }
    
    展开全文
  • C 语言合法标识符

    2020-02-08 23:11:42
    输入一个字符串,判断其是否是C的合法标识符。 Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。 Output 对于每...
  • 输入一个字符串,判断其是否是C的合法标识符。C语言中规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。 输入 输入一个长度不超过50的字符串。 输出 如果输入数据是C的合法标识符,...

    /*****
    题目描述
    输入一个字符串,判断其是否是C的合法标识符。C语言中规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
    输入
    输入一个长度不超过50的字符串。
    输出
    如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
    样例输入 Copy
    8fixafghgjhjhjyuyuyyuyuyu
    样例输出 Copy
    no
    *****/

    #include <stdio.h>
    #include <stdlib.h>
    
    int isfuhe(char ch);
    int main()
    {
        char str[100];
        gets(str);
        int i,flag;flag = 0;
        for(i = 0;str[i] != '\0';i++)
        {
            if (isfuhe(str[i]))///如果不符合
            {
               flag = 1;break;
            }
        }
        if( ((str[0] >= 'A' && str[0] <= 'Z') ||(str[0] >= 'a' && str[0] <= 'z') ||(str[0] == '_')) && flag == 0)
        printf("yes");
        else
        printf("no");
        return 0;
    }
    int isfuhe(char ch)
    {
        if((ch >= 'A' && ch <= 'Z' )||(ch >= 'a' && ch <= 'z')||(ch >= '0' && ch <= '9')||(ch == '_'))
        return 0;
        else
        return 1;
    }
    
    
    展开全文
  • 输入一个字符串,判断其是否是C的合法标识符。 Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。 Output 对于每...
  • C语音合法标识符

    2014-03-13 14:11:37
    C语言合法标识符 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 9 Accepted ...输入一个字符串,判断其是否是C的合法标识符。 Input 输入数据包含多个测试
    C语言合法标识符
    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

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



    总结
    while(scanf("%d",m)!=EOF){
             for(i=0;i<m;i++)
     scanf("%d ",&n);
    while(n--)
    完成相同的运算
    注意:
    这里scanf中%d后的空格有非常重要的作用(在这道题中,不过其他题中此种做法也比较常用)。若不加此空格,输入m之后所按下的空格会被下面的gets接收,导致程序出错,回车对应的字符将成为gets中输入的第一个字符,因为C语言是一种强制类型的语言,严格按照格式输出,输入空格后会将回车吸收。
    展开全文
  • 判断合法标识符

    千次阅读 2016-06-07 23:54:43
    Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d ...输入一个字符串,判断其是否是C的合法标识符。    Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数
  • 输入一个字符串,判断其是否是C的合法标识符。 Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。 Output 对于每组输入数据,...
  • 输入一个字符串,判断其是否是C的合法标识符。 Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。 Output 对于每...
  • Description输入一个字符串,判断其是否是C的合法标识符。Input输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。Output对于每组输入...
  • C语言合法标识符

    2020-01-17 19:18:59
    输入一个字符串,判断其是否是C的合法标识符。 Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。 Output 对于每组输入数据,...
  • c语言合法标识符

    千次阅读 2018-01-26 08:27:58
    输入一个字符串,判断其是否是C的合法标识符。 输入 输入一个长度不超过50的字符串。 输出 如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。 样例输入 8fixafghgjhjhjyuyuyyuyuyu 样例输出 no...
  • 输入一个字符串,判断其是否是C的合法标识符。 Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。 Output 对于每...
  • C语言合法标识符

    2017-09-30 13:11:25
    输入一个字符串,判断其是否是C的合法标识符。 Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。 Output 对于每组输入...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 268
精华内容 107
关键字:

判断其是否是c的合法标识符