hdu oj 2024

C语言合法标识符

Problem Description
输入一个字符串,判断其是否是C的合法标识符。
Input
输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。
Output
对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
Sample Input
  
  
3 12ajf fi8x_a ff ai_2
Sample Output
  
  
no yes no
my code:
#include<stdio.h> #include <ctype.h> int main(){     char s[50];     int n,i,j;     scanf("%d",&n);     getchar(); //把无用的字符吸收掉     for(i=0;i<n;i++){         gets(s); //不能用scanf("%s",&s);因为会把一个字符串的空格认为是字符串的结束         bool flag=true;         if(isalpha(s[0])||s[0]=='_'){ //判断字符串的首字符是否为字母或'_'             for(j=1;s[j]!='\0';j++){                 if(!isalnum(s[j])&&s[j]!='_')                 flag=false;             }             if(flag==true){printf("yes\n");}             else{printf("no\n");}             }         else{printf("no\n");}         } return 0; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值