1413.C言語の法的識別子

タイトル説明

文字列を入力して、それがCの正当な識別子であるかどうかを判別します。

入る

50文字以内の文字列を入力してください。

出力

入力データがCの正当な識別子である場合は「yes」を出力し、そうでない場合は「no」を出力します。

サンプル入力

8fixafghgjhjhjyuyuyyuyuyu

サンプル入力

no

サンプル出力

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

//字母1,数字2,下划线3
int panduan(char a)//合法
{
    
    
    int ret=-1;
    if(a>='a'&&a<='z')
        ret=1;
    else if(a>='A'&&a<='Z')
        ret=1;
    else if(a>='0'&&a<='9')
        ret=2;
    else if(a=='_')
        ret=3;
    return ret;
}

int main()
{
    
    
    char a[100];
    int i,m;
    gets(a);
    m=strlen(a);
    if(panduan(a[0])==1||panduan(a[0])==3)//对
    {
    
    
        for(i=1;i<m;i++)
        {
    
    
            if(panduan(a[i])==-1)
            {
    
    
                printf("no");
                return 0;
            }
        }
        printf("yes");
    }
    else
    {
    
    
        printf("no");
    }
    return 0;
}

おすすめ

転載: blog.csdn.net/weixin_51800059/article/details/112059684