C语言题目,怎么改这个代码

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

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

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

Sample Input
3
12ajf
fi8x_a
ff ai_2

Sample Output
no
yes
no

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

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

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

Sample Input
3
12ajf
fi8x_a
ff ai_2

Sample Output
no
yes
no
我代码是这样的,怎么改
#include<stdio.h>

int main ()

{ char ch[50];

int n,i;

scanf("%d",&n);

while(n--)

{ gets(ch);

if(ch[0]>='a'&&ch[0]<='z')||ch[0]=='_'||(ch[0]>='A'&&ch[0]<='Z')

{for(i=1;i<n;i++)

{if(ch[i]>='a'&&ch[i]<='z')||ch[i]=='_'||(ch[i]>='A'&&ch[i]<='Z')||(ch[i]>='0'&&ch[i]<=9')

printf("yes\n");

else

printf("no\n");

}

}

else

printf("no\n");

}

return 0;

}
展开
 我来答
听不清啊
高粉答主

2018-10-21 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include<stdio.h>
#include<ctype.h>
int main()
{int n,i;
 char s[200];
 scanf("%d%*c",&n);
 while(n--)
 {gets(s);
  i=0;
  if(s[0]=='_'||isalpha(s[0]))
    for(i=1;s[i];i++)
      if(!(s[i]=='_'||isalpha(s[i])||isdigit(s[i])))break;
  printf("%s\n",(i==0||s[i])?"no":"yes");    
 }
 return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式