杭电2024 C语言合法标识符
链接: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语言合法标识符的更多相关文章
- HDU 2024 C语言合法标识符
http://acm.hdu.edu.cn/showproblem.php?pid=2024 Problem Description 输入一个字符串,判断其是否是C的合法标识符. Input 输入 ...
- HDOJ2024C语言合法标识符
C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- 1164: 零起点学算法71——C语言合法标识符(存在问题)
1164: 零起点学算法71——C语言合法标识符 Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 10 ...
- C语言合法标识符 题解
输入一个字符串,判断其是否是C的合法标识符. Input输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串. Output对 ...
- HDU_2024——判断字符串是否是c语言合法标识符
Problem Description 输入一个字符串,判断其是否是C的合法标识符. Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是 ...
- Problem J: 零起点学算法105——C语言合法标识符
#include<stdio.h> #include<ctype.h>//调用isalpha函数 int main() { int n; ]; while(scanf(&quo ...
- hdu2024C语言合法标识符
#include<iostream> #include<stdio.h> #include<math.h> #include<stdlib.h> #in ...
- c语言合法标识符
#include <iostream>#include <stdio.h>using namespace std;char str[100][51];int main() { ...
- 杭电--1009 C语言实现
思路:要用有限的猫粮得到最多的javabean,则在房间中得到的javabean比例应尽可能的大. 用一个结构体,保存每个房间中的javabean和猫粮比例和房间号,然后将结构体按比例排序,则从比例最 ...
随机推荐
- nginx.conf nginx反向代理配置文件
nginx反向代理配置文件 nginx.conf proxy_default.conf proxy.conf vhost/*.conf upstream/*.conf cache/*.conf ngi ...
- Java代码三级跳——表达式、语句和代码块
Java代码三级跳—表达式.语句和代码块 表达式(expression):Java中最基本的一个运算.比如一个加法运算表达式.1+2是一个表达式,a+b也是. 语句(statement):类似于平时说 ...
- FTD vs FMC
要管理思科防火墙(ASA或Firepower),我们有两种方法: 1.FirePower Threat Defense software (FTD) 2.Firesight Management Ce ...
- PHP定时执行任务的3种方法详解
转载 https://www.jb51.net/article/76720.htm 更新时间:2015年12月21日 10:38:56 作者:PHP淮北 我要评论 PHP不支持多线程,有时候处 ...
- 后端——框架——容器框架——spring_core——《官网》阅读笔记——初篇
1.知识体系 spring-core的知识点大概分为以下几个部分 IOC容器 Bean的配置,XML方式和注解方式 Bean的管理,bean的生命周期,bean的作用域等等 与Bean相关联的接口和对 ...
- jquery Ajax标准规范写法
$.ajax({ url:"http://www.xxx",//请求的url地址 dataType:"json",//返回的格式为json async:true ...
- 《TCP/IP网络编程》读书笔记
1.Windows 下的 socket 程序和 Linux 思路相同,但细节有所差别(1) Windows 下的 socket 程序依赖 Winsock.dll 或 ws2_32.dll,必须提前加载 ...
- idea 快捷使用(二)回退断点的使用
在调试的时候,想要重新走一下流程而不用再次发起一个请求? 1.所谓的断点回退,其实就是回退到上一个方法调用的开始处,在IDEA里测试无法一行一行地回退或回到到上一个断点处,而是回到上一个方法.回退的方 ...
- wsgiref模块
学习django框架之前,可以先学习一下wsgiref模块,熟悉前后端交互. 一.先介绍下wsgiref模块 WSGI(Web Server Gateway Interface)是一种规范,它定义了使 ...
- utf-8无bom格式编码
BOM——Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF.而FFFE在U ...