博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1164: 零起点学算法71——C语言合法标识符(存在问题)
阅读量:6711 次
发布时间:2019-06-25

本文共 1893 字,大约阅读时间需要 6 分钟。

1164: 零起点学算法71——C语言合法标识符

Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld
Submitted: 1080  Accepted: 484
[][][]

Description

输入一个字符串,判断其是否是C的合法标识符。 

 

Input

 

输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。 

 

Output

 

对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。 

 

Sample Input

 
312ajffi8x_aff  ai_2

 

Sample Output

noyesno

 

HINT

 

 请注意编译器的差异,可以使用TEST功能获得帮助。

 

Source

 
1 #include
2 #include
3 int main(){ 4 int n; 5 char a[50]; 6 scanf("%d%*c",&n); 7 while(n--){ 8 int d=1; 9 gets(a);10 if(a[0]!='_'&& !isalpha(a[0])){11 printf("no\n");12 }13 else{14 for(int j=1;a[j]!='\0';j++){15 if(a[j]!='_'&&!isalnum(a[j])){16 17 printf("no\n");18 break;19 }20 else{21 printf("yes\n");22 break; 23 }24 } 25 } 26 }27 return 0;28 }

//按理来说,跳出第一层循环后不会输出yes 为什么会有这种情况

AC代码:

1 #include
2 #include
3 int main(){ 4 int n; 5 char a[50]; 6 while(scanf("%d%*c",&n)!=EOF){ 7 while(n--){ 8 int d=1; 9 gets(a);10 if(a[0]!='_'&& !isalpha(a[0])){11 printf("no\n");12 }13 else{14 for(int j=1;a[j]!='\0';j++){15 if(a[j]!='_'&&!isalnum(a[j])){16 17 d=0;18 break;19 }20 }21 puts(d ? "yes" : "no"); 22 } 23 }24 }25 return 0;26 }

 

转载于:https://www.cnblogs.com/dddddd/p/6686917.html

你可能感兴趣的文章
window10安装Ubuntu虚拟机踩坑系列
查看>>
JavaScript倒计时
查看>>
ArrayList源码分析
查看>>
golang后端库gin笔记
查看>>
数据如何埋点?Mob统计分析电商类APP埋点需求
查看>>
图片 文件 转base64
查看>>
Vuex源码学习(四)module与moduleCollection
查看>>
python基础总结 Part.1
查看>>
【OC梳理】description
查看>>
一篇不太一样的RxJava介绍(二):关于操作符背后的故事
查看>>
FFmpeg模块介绍
查看>>
张家口a货翡翠,梧州a货翡翠
查看>>
JS Object的静态方法汇总( 上 )
查看>>
java B2B2C Springcloud多租户电子商城系统-Eureka服务端与客户端常用配置
查看>>
jvm疯狂吞占内存,罪魁祸首是谁?
查看>>
表格存储Tablestore权威指南(持续更新)
查看>>
java B2B2C源码电子商城系统-Kafka快速入门
查看>>
Spring Cloud云服务 - HongHu架构common-service 项目构建过程
查看>>
hadoop中hive原理及安装
查看>>
pear默认安装后一个小bug
查看>>