Advertisement

杭电OJ2024中C语言的合法标识符

阅读量:

问题描述
输入一个字符串,判断其是否为C语言中的合法标识符。

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

输出
针对每组输入数据,输出一行结果。若输入数据符合C语言中合法标识符的定义,则输出”yes”,否则输出“no”。

样例输入
3
12ajf
fi8x_a
ff ai_2

样例输出
no
yes
no

在自行运行该题目时,发现刚输入第一个数字就会出现”yes”的结果,后来经过排查发现是将换行符误读为了第一个字符串,随后在代码中添加了getchar()函数后问题得以解决。

复制代码
    #include<stdio.h>
    #include<string.h>
    int main()
    {
    int n, flag, i, len;
    char s[100];
    scanf_s("%d", &n);
    getchar();
    while (n--)
    {
        gets(s);
        len = strlen(s);
        flag = 1;
        if (s[0] >= '0'&&s[0] <= '9')

全部评论 (0)

还没有任何评论哟~