当前位置:编程学习 > C/C++ >>

问题一百一十二:C语言合法标识符(2)

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

12ajf 
fi8x_a 
ff  ai_2 
 
Sample Output 
 
 
no 
yes 
no 

Description

输入一个字符串,判断其是否是C的合法标识符。

Input

输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。

Output

对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。


Sample Input


3
12ajf
fi8x_a
ff  ai_2

Sample Output


no
yes
no
 


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

#include <stdio.h>
#include <string.h>

int main()
{   
     int i;
  int flag;
     int num;
     int length;
     char string[101];

     scanf("%d", &num);
     getchar();

     while(num--)
     {
           gets(string);
     length=strlen(string);
           flag=1;

     if(string[0]=='_' || (string[0]>='a' && string[0]<='z') || (string[0]>='A' && string[0]<='Z'))
   {
    for(i=0; i<length; i++)
    {
      if(string[i]=='_' || (string[i]>='a' && string[i]<='z') || (string[i]>='A' && string[i]<='Z') || (string[i]>='0' && string[i]<='9'))
      {
          flag=1;
      }补充:软件开发 , C语言 ,

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,