YTUOJ-C语言合法标识符

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
Source

代码如下:

#include"stdio.h"
int main()
{
    int n;
    scanf("%d",&n);
    getchar();
    while (n--)
    {
        char a[51];
        int k,i=0,b=0;
        for (i=0; i<51; i++)
        {
            scanf("%c",&a[i]);
            if (a[i]=='\n')
            {
                k=i;
                break;
            }
        }
        if ((a[0]>=65 && a[0]<=90) || a[0]==95 || (a[0]>=97 && a[0]<=122))
        {
            for (i=0; i<k; i++)
            {
                if ((a[i]>=65 && a[i]<=90) || a[i]==95 || (a[i]>=97 && a[i]<=122) || (a[i]>=48 && a[i]<=57))
                    b++;
                else
                    break;
            }
        }
        if (b==k)
            printf("yes\n");
        else
         printf("no\n");
    }
    return 0;
}

运行结果:

学习心得:

继续在用C语言答题,C在写的时候虽然比C++繁琐,但是不知道为何我却更感觉自己喜欢用C;

标识符我大致明白是什么。但是标准格式我还真不清楚,只好百度,

标识符由字母、下划线、数字这三个方面组成,但开头必须是字母或下划线。

然后就AC了,虽然有借鉴别人的代码,好在又学到了一手。

时间: 2024-10-31 05:33:55

YTUOJ-C语言合法标识符的相关文章

c语言合法标识符

C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 44597    Accepted Submission(s): 17933 Problem Description 输入一个字符串,判断其是否是C的合法标识符. Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行

HDOJ 2024 C语言合法标识符

C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 37056    Accepted Submission(s): 14897 Problem Description 输入一个字符串,判断其是否是C的合法标识符. Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行

hdu 2024 C语言合法标识符 (java)

问题: 参考了别人的才做出来,有一个疑问: 不知道为什么要以比字数串长度来判断,为什么不可以直接不再if之列就直接判断为"no". 得到一行字符 : s=cin.nextLine(); 之前要有cin.nextLine(); ,原因不明. C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 45431    Ac

ACM--HDOJ 2024--C语言合法标识符--字符串

HDOJ题目地址:传送门 C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 59528    Accepted Submission(s): 23541 Problem Description 输入一个字符串,判断其是否是C的合法标识符. Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数

HDOJ 2024 C语言合法标识符(水题,讲讲标识符)

C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 42681    Accepted Submission(s): 17117 Problem Description 输入一个字符串,判断其是否是C的合法标识符. Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行

hdu 2024 C语言合法标识符

C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 35855    Accepted Submission(s): 14431 Problem Description 输入一个字符串,判断其是否是C的合法标识符. Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行

(java实现)杭电oj2024C语言合法标识符

原题如下 C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 59747    Accepted Submission(s): 23638 Problem Description 输入一个字符串,判断其是否是C的合法标识符. Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数

C语言合法标识符 【杭电-2024】 附题

/* C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 35717    Accepted Submission(s): 14361 Problem Description 输入一个字符串,判断其是否是C的合法标识符. Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据

C语言合法标识符 题解

输入一个字符串,判断其是否是C的合法标识符. Input输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串. Output对于每组输入数据,输出一行.如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”. Sample Input 3 12ajf fi8x_a ff ai_2 Sample Output no yes no 在这里需要注意:清空缓冲区: getchar()以及它应该放在哪个位置: 还