(解题报告)HDU2024---C语言合法标识符
2015-12-19 21:23
441 查看
首先是C语言标识符的规则:
1.有数字、下划线、字母组成,字母有大小写之分;
2.第一个不能是数字;
第二点是这个题一定要注意输入表示测试用例的整数n结束后要用getchar储存回车符,否则出错;
最后还要注意应该用长度来比较字符是否都是合法的,具体见代码:
仅代表个人观点!不喜勿喷!欢迎交流!
1.有数字、下划线、字母组成,字母有大小写之分;
2.第一个不能是数字;
第二点是这个题一定要注意输入表示测试用例的整数n结束后要用getchar储存回车符,否则出错;
最后还要注意应该用长度来比较字符是否都是合法的,具体见代码:
#include <stdio.h> #include <string.h> //标识符的规则,由数字,字母,下划线组成 ,且第一个字符不能为数字! int main() { int n; char a[55]; scanf("%d",&n); getchar(); //注意储存回车符 while (n--) { int sum=0; memset(a,0,sizeof(a)); int i,len; gets(a); len=strlen(a); if(a[0]<='9'&&'0'<=a[0]) //注意数字是从0开始 ! { printf("no\n"); } else { for(i=0;i<len;i++) { if(a[i]<='9'&&'0'<=a[i]||a[i]<='Z'&&'A'<=a[i]||a[i]<='z'&&'a'<=a[i]||a[i]=='_') { sum++; } } if(sum==len) { printf("yes\n"); } else { printf("no\n"); } } } }
仅代表个人观点!不喜勿喷!欢迎交流!
相关文章推荐
- 实战c++中的vector系列--正确释放vector的内存(clear(), swap(), shrink_to_fit())
- 实战c++中的vector系列--正确释放vector的内存(clear(), swap(), shrink_to_fit())
- 第一次写自己的blog--C语言基础题目--字母螺旋方阵
- c++/c内部调用TCL
- C语言回顾 学习进程
- C++中的头文件和源文件
- C++连接数据库
- 《C语言及程序设计初步》第九讲实践项目(含第八讲)
- c++普通高精除单精
- C语言递归调用1:李白打酒
- c语言简单设计
- c++ 普通高精乘
- C语言求x的y次方,自定义函数,自己的算法
- c++ 普通高精减
- c++普通高精加
- Ubuntu Server 14.04.3 LTS 安装C/C++开发环境时遇到的依赖关系问题
- C++ std命名空间详解
- 实战c++中的vector系列--C++11对vector成员函数的扩展(cbegin()、cend()、crbegin()、crend()、emplace()、data())
- 实战c++中的vector系列--C++11对vector成员函数的扩展(cbegin()、cend()、crbegin()、crend()、emplace()、data())
- 关于默认构造函数的一点总结