zoukankan      html  css  js  c++  java
  • 1164: 零起点学算法71——C语言合法标识符(存在问题)

    1164: 零起点学算法71——C语言合法标识符

    Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld
    Submitted: 1080  Accepted: 484
    [Submit][Status][Web Board]

    Description

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

    Input

     

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

    Output

     

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

    Sample Input

     
    3
    12ajf
    fi8x_a
    ff  ai_2
    

    Sample Output

    no
    yes
    no

    HINT

     请注意编译器的差异,可以使用TEST功能获得帮助。

    Source

     
     1 #include<stdio.h>
     2 #include<ctype.h>
     3 int main(){
     4     int n;
     5     char a[50];
     6     scanf("%d%*c",&n);  
     7     while(n--){
     8             int d=1;
     9             gets(a);
    10             if(a[0]!='_'&& !isalpha(a[0])){
    11                 printf("no
    ");
    12                 }
    13             else{
    14                 for(int j=1;a[j]!='';j++){
    15                     if(a[j]!='_'&&!isalnum(a[j])){
    16                         
    17                         printf("no
    ");
    18                         break;
    19                     }
    20                     else{
    21                         printf("yes
    ");
    22                         break; 
    23                     }
    24                 }      
    25             }        
    26     }
    27     return 0;
    28 }

    //按理来说,跳出第一层循环后不会输出yes 为什么会有这种情况

    AC代码:

     1 #include<stdio.h>
     2 #include<ctype.h>
     3 int main(){
     4     int n;
     5     char a[50];
     6     while(scanf("%d%*c",&n)!=EOF){
     7     while(n--){
     8             int d=1;
     9             gets(a);
    10             if(a[0]!='_'&& !isalpha(a[0])){
    11                 printf("no
    ");
    12                 }
    13             else{
    14                 for(int j=1;a[j]!='';j++){
    15                     if(a[j]!='_'&&!isalnum(a[j])){
    16                         
    17                         d=0;
    18                         break;
    19                     }
    20                 }
    21                 puts(d ? "yes" : "no");      
    22             }        
    23     }
    24     }
    25     return 0;
    26 }
  • 相关阅读:
    SQL注入实验-2021.01.24
    数据库的搭建与基本语句2021-01-24
    Linux
    磁盘配置
    在Vmware中Centos下的Hadoop环境搭建
    Linux系统(CentOS)-2021.1.19
    中间件,JavaScript,PHP及burpSuite暴力破解实验-2021.1.16
    html,css学习笔记-2021.1.15
    第一周学习视频(二)
    第一周学习视频(一)
  • 原文地址:https://www.cnblogs.com/dddddd/p/6686917.html
Copyright © 2011-2022 走看看