C语言合法标识符

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


 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 n;
    scanf("%d",&n);
    getchar();
    while(n--) {
        char a[51];
        int i,l;
        gets(a);
        int c=0;
        l=strlen(a);
        if(a[0]>='a'&&a[0]<='z'||a[0]>='A'&&a[0]<='Z'||a[0]=='_') {
            for(i=1; i<l; i++)
                if((a[i]>='a' && a[i]<='z')||(a[i]>='A' && a[i]<='Z')|| a[i]=='_' || (a[i]>='0' && a[i]<='9'))
c++;
                else {
                    printf("no\n");
                    break;
                }
            if(c+1==l)printf("yes\n");
        }    
        else
                    printf("no\n");
                
    }
}

#include<stdio.h>
#include<string.h>
int main() {
    int n;
    scanf("%d",&n);
    getchar();
    while(n--) {
        char a[51];
        int i,l;
        gets(a);
        int c=0;
        l=strlen(a);
        if(a[0]>='a'&&a[0]<='z'||a[0]>='A'&&a[0]<='Z'||a[0]=='_') {           //做题时一定要细心再细心,当初由于少一个“=”号,导致一下
            for(i=1; i<l; i++)                                                                      //子耗费近一个小时
                if((a[i]>='a' && a[i]<='z')||(a[i]>='A' && a[i]<='Z')|| a[i]=='_' || (a[i]>='0' && a[i]<='9'))
                    c++;
                else {
                    printf("no\n");
                    break;
                }
            if(c+1==l)printf("yes\n");
        }   
        else
                    printf("no\n");
               
    }
}
 

 

 

 

 

 

 

C++:

 

 

 

 

#include<iostream>
#include<string.h>
using namespace std;
int main() {
 char str[55];
 int n;
 cin>>n;
 getchar();
 while(n--) { 
  cin.getline(str,55);
  int len=strlen(str);
  int mark=1;
  if((str[0]>='a'&&str[0]<='z')||(str[0]>='A'&&str[0]<='Z')||(str[0]=='_')) {
   mark=1;
  } else {
   mark=0;
  } 
  if(mark==1) {
   for(int i=1; i<len; i++) {
    if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')||(str[i]=='_')||(str[i]>='0'&&str[i]<='9')) {
     mark=1;
    } else {
     mark=0;
     break;
    }
   }
  }
  if(mark==1) {
   cout<<"yes"<<endl;
  } else {
   cout<<"no"<<endl;
  }
 }
 return 0;
}

 
Logo

长江两岸老火锅,共聚山城开发者!We Want You!

更多推荐