判断是否为C语言的合法标识符

总时间限制:

1000ms

内存限制:

65536kB

描述

C语言中的合法标识符的定义为:以下划线或字母开头的字母数字串(含下划线)。
完成一个程序实现对输入的n个字符串进行判定,是否为C语言的合法标识符。如果是则输出1,不是则输出0

输入

输入的第一行为一个数字,表明有几个输入字串。
后面每一行为一个长度不超过80的字符串。

输出

对所有输入的字符串进行判断,是合法标识符则输出1,回车。否则输出0,回车。

样例输入

5
hello_world
my god
i
_stdio
008A

样例输出

1
0
1
1
0

问题链接:Bailian3659 判断是否为C语言的合法标识符

问题分析:(略)

程序说明:按照规则逐个字符判断处理。最初写了一个用指针变量实现的版本,又写了一个不用指针的版本。

题记:写程序最需要的是逻辑清晰。

 

AC的C语言程序如下:

/* Bailian3659 判断是否为C语言的合法标识符 */#include <stdio.h>
#include <ctype.h>#define N 80
char s[N + 1];int main(void)
{int n, ans, i;scanf("%d", &n);getchar();while(n--) {gets(s);if(!isalpha(s[0]) && s[0] != '_') {// 非字母或下划线开头则不是标识符ans = 0;} else {ans = 1;for(i = 1; s[i]; i++)if(isalnum(s[i]) || s[i] == '_')        // 字母、下划线或数字,则检查下一个字符;else {// 非字母、下划线或数字则不是标识符ans = 0;break;}}printf("%d\n", ans);}return 0;
}

AC的C语言程序(指针)如下:

/* Bailian3659 判断是否为C语言的合法标识符 */#include <stdio.h>
#include <ctype.h>#define N 80
char s[N + 1];int main(void)
{int n, ans;char *t;scanf("%d", &n);getchar();while(n--) {gets(s);if(!isalpha(s[0]) && s[0] != '_') {// 非字母或下划线开头则不是标识符ans = 0;} else {ans = 1;t = s + 1;while(*t && ans) {// 字母、下划线或数字,则检查下一个字符if(isalnum(*t) || *t == '_') {t++;continue;} else {// 非字母、下划线或数字则不是标识符ans = 0;break;}}}printf("%d\n", ans);}return 0;
}

Bailian3659 判断是否为C语言的合法标识符【文本处理】相关推荐

  1. c语言oj合法标识符,YTUOJ-C语言合法标识符

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

  2. 数字字母下划线C语言,【判断题】C语言中的标识符只能由字母、数字和下划线三种字符组成,而且第一个字符只能是字母和下划线。...

    [判断题]C语言中的标识符只能由字母.数字和下划线三种字符组成,而且第一个字符只能是字母和下划线. 更多相关问题 计算机病毒按其寄生方式划分通常可分为().A.系统引导型病毒B.文件型病毒C. 在委托 ...

  3. 在c语言中合法标识符的第一个字符必须是,c语言合法标识符判断规则是什么?...

    规则是:1.标识符的第一个字符必须是字母(a~z或A~Z)或下划线(_):2.后面跟的字符是由任意字母.下划线(_).数字组成:3.标识符中的大小写字母是有区别的,代表不同含义:4.标识符不能是关键字 ...

  4. c语言判断字符串合法标识符,HDU 2024 C语言合法标识符(以及一些关于输入和ctype.h的内容)...

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

  5. HDU2024 C语言合法标识符

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

  6. HDOJ2024C语言合法标识符

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

  7. HDU2024 C语言合法标识符【文本处理】

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

  8. HDU2024 C语言合法标识符【入门】

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

  9. C语言合法标识符(含知识点)

    C语言标识符只能是字母(A-Z,a-z).数字(0-9).下划线()组成的字符串,并且其第一个字符必须是字母或下划线. 题目描述 输入一个字符串,判断其是否是C的合法标识符. 输入 输入一个长度不超过 ...

最新文章

  1. 英特尔发现Spectre和Meltdown 补丁对性能影响程度为0-21%
  2. Intersection of Two Linked Lists 解答
  3. 校园职业社交Handshake获1005万美金A轮融资
  4. VTK:图片之Colored2DImageFusion
  5. mysql optimizer组件_MySQL Optimizer
  6. python中的copy模块(浅复制和深复制)
  7. java 奇数 字符乱码_socket中文奇数个出现乱码的解决办法
  8. android仿新浪引导界面
  9. codeigniter中base_url和site_url
  10. Web前端开发最佳实践(7):使用合理的技术方案来构建小图标
  11. 反诈题库---合计100道(解析版最新)
  12. android studio 登录与注册,Android Studio实现QQ的注册登录和好友列表跳转
  13. 如何用Java的Robot完成模拟鼠标移动和键盘输入(可应用刷网课)
  14. 本特利990-05-50-02-00变送器
  15. Qt信号与槽机制原理
  16. 安装IDEA 并创建快捷方式
  17. 使用单文档视图结构把Word嵌入到VC程序中(转)
  18. 阿里云PHP SDK(升级版)使用说明:
  19. js控制网页动态效果
  20. 无锡做大做强“中国芯” 华虹功不可没

热门文章

  1. 关于更新内容次序问题
  2. 百度地图API实现地理围栏
  3. 国内大厂在移动端跨平台的框架接入分析
  4. 新一代MMO架构(Next Generation MMO Architecture 翻译)
  5. 关于”要执行请求的操作,WordPress需要访问您网页服务器的权限”
  6. Adobe AIR移动App的互相调用实现方式
  7. 图片md5值不一样_夏天宅家,拍点不一样的宝骏530车模图片!
  8. WebService 代码创建E9流程
  9. MyBatis-Plus通过注解的方式绑定一对多查询
  10. pyinstaller cx_oracle,使用pyinstaller打包使用cx_Oracle模块的程序出现The specified module could not be found的问题...