链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=2024

  开始真的对这题是一点头绪都没有,简直了。然后事实证明是我想多了,这题主要是把概念给弄清楚,其它的就是代码的简单实现了。有一个地方要注意,就是string类在cin的时候不会给你读取空格的,所以这就需要你用getline(cin,string),记得在cin>>n之后cin.get[],把那个回车符号给读取掉。

  C语言合法标识符的命名规则:1、首元素只能是下划线或是字母,2、除首元素外的元素只能是数字、下划线和字母),先判断输入的字符串首元素是否符合规则,接着再判断其他元素。要注意的是因为输入的是字符串,则在判断元素是否是数字时是与字符数字判断!!!

  附上ac代码:

  

#include <iostream>
#include<math.h>
#include <iomanip>
#include<cstdio>
#include<string>
#include<map>
#include<vector>
#include<list>
#include<algorithm>
#include<stdlib.h>
#include<iterator>
using namespace std; int main()
{
string input;
int n;
cin>>n;
cin.get();//舍去回车符号
while(n--)
{
int flag=;
int flag1=;
getline(cin,input);//必须是一行全部读入
if(input[]=='_'||(input[]>='a'&&input[]<='z')||(input[]>='A'&&input[]<='Z'))
{
flag=;
} int len=input.size();
for(int i=;i<len;i++)
{
if((input[i]>=''&&input[i]<='')||input[i]=='_'||(input[i]>='a'&&input[i]<='z')||(input[i]>='A'&&input[i]<='Z'))
{
flag1=;
}else
{
flag1=;
break;
}
} if(flag1==&&flag==)
{
cout<<"yes"<<endl;
}
else
{
cout<<"no"<<endl;
}
} return ;
}

杭电2024 C语言合法标识符的更多相关文章

  1. HDU 2024 C语言合法标识符

    http://acm.hdu.edu.cn/showproblem.php?pid=2024 Problem Description 输入一个字符串,判断其是否是C的合法标识符.   Input 输入 ...

  2. HDOJ2024C语言合法标识符

    C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  3. 1164: 零起点学算法71——C语言合法标识符(存在问题)

    1164: 零起点学算法71——C语言合法标识符 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 10 ...

  4. C语言合法标识符 题解

    输入一个字符串,判断其是否是C的合法标识符.  Input输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串. Output对 ...

  5. HDU_2024——判断字符串是否是c语言合法标识符

    Problem Description 输入一个字符串,判断其是否是C的合法标识符.   Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是 ...

  6. Problem J: 零起点学算法105——C语言合法标识符

    #include<stdio.h> #include<ctype.h>//调用isalpha函数 int main() { int n; ]; while(scanf(&quo ...

  7. hdu2024C语言合法标识符

    #include<iostream> #include<stdio.h> #include<math.h> #include<stdlib.h> #in ...

  8. c语言合法标识符

    #include <iostream>#include <stdio.h>using namespace std;char str[100][51];int main() { ...

  9. 杭电--1009 C语言实现

    思路:要用有限的猫粮得到最多的javabean,则在房间中得到的javabean比例应尽可能的大. 用一个结构体,保存每个房间中的javabean和猫粮比例和房间号,然后将结构体按比例排序,则从比例最 ...

随机推荐

  1. 定义列属性:null,default,PK,auto_increment

    *定义列属性* 1.列属性NULL: 是否为空,规定一个字段的值是否可以是null: null|not null 2.默认值属性:default value  默认值,在没有为该字段设置值时启用:而且 ...

  2. 【Vue实例生命周期】

    目录 实例创建之前执行--beforeCreate 实例创建之后执行--created 挂载之前执行--beforeMount 挂载之后执行--mounted 数据更新之前执行--beforeUpda ...

  3. [原]eclipse中spring配置文件的自动提示和命名空间的添加

    在用spring或者springmvc框架进行开发时,编辑applicationcontext.xml等配置文件是必不可少的,在eclipse中打开applicationcontext.xml通常是这 ...

  4. windows10下VS2013搭建opencv2.4.9吐血之作

    1.下载opencv2.4.9.exe文件,然后双击extract文件到指定目录 2.按此链接安装opencv:https://www.cnblogs.com/cuteshongshong/p/405 ...

  5. 对象的上转型和下转型 (instanceof关键字)

    1.对象的上转型,就是多态的一种写法 格式:父类名称 对象名 = new 子类名称(): Animal animal = new Cat(); 含义:右侧创建一个子类对象,把它当作父类来使用 向上转型 ...

  6. dfs(学姐的红包)

    链接:https://ac.nowcoder.com/acm/contest/3402/I    盼啊,盼啊,伴随着时钟的敲响,我们即将迎来了美好的传统佳节-春节.为了给新年增添浓浓节日气息,师弟师妹 ...

  7. Django ORM中的模糊查询

    ORM映射 什么是ORM映射?在笔者认为就是对SQL语句的封装,所写语句与SQL对应语句含义相同,使开发更加简单方便,不过也是存在弊端的,使程序运行效率下降.例如: UserInfo.objects. ...

  8. 【前端基础之HTML】

    " 目录 一.HTML介绍 二.head内常用标签 三.body内常用标签 一.HTML介绍 1. web服务本质 from socket import socket, SOL_SOCKET ...

  9. nginx+keepalived实现主从高可用

    设备: 主:192.168.200.122 从:192.168.200.124 安装:两台都分别安装nginx以及keepalived 两台机步骤一致一主一从 安装nginx的依赖包 [root@lo ...

  10. centos610无桌面安装libreoffice

    Centos610系列配置 #安装文件 yum -y install libreoffice #安装中文包 yum -y install libreoffice-langpack-zh-Han* #安 ...