杭电ACM2024 http://acm.hdu.edu.cn/showproblem.php?pid=2024 C语言高手看看怎么改才能过?

#include<stdio.h>#include<string.h>voidmain(){chars[50][51];intn,m,i,j,a[100];while(s... #include<stdio.h>
#include<string.h>
void main()
{
char s[50][51];
int n,m,i,j,a[100];
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
{
gets(s[i]);
getchar();
}

for(i=0;i<n;i++)
{
if((s[i][0]>='a' && s[i][0]<='z') || (s[i][0]>='A' && s[0]<='Z') || s[i][0]=='_')
a[i]=0;
else
a[i]=1;
}

for(i=1;i<n;i++)
{
while(a[i]==0)
{
m=strlen(s[i]);
for(j=0;j<m;j++)
{
if((s[i][j]>='a' && s[0]<='z') || (s[i][j]>='A' && s[i][j]<='Z') || s[i][j]=='_' || (s[i][j]>='0' && s[i][j]<='9'))
a[i]=0;
else
a[i]=1;
}
}
}

for(i=0;i<n;i++)
{
if(a[i]==0)
printf("yes\n");
else
printf("no\n");
}
}
}
我想要的是在我的代码基础上改,而不是baidu上其他人的答案
展开
 我来答
hcqsuizyx
2011-07-16 · TA获得超过467个赞
知道答主
回答量:529
采纳率:0%
帮助的人:372万
展开全部
#include<stdio.h>
#include<string.h>
int main()
{
char a[50];
int n,i,c;
int f1(char a[50] );
while(scanf("%d",&n)!=EOF)
{
gets(a); // 消除行尾换行
for(i=0;i<n;i++)
{
gets(a); // 读取整行
c=f1(a);
if(c)
printf("yes\n");
else
printf("no\n");
}
}

}

int f1(char a[50])
{
int i,flge=1,n,flge1=1;
if(a[0]>='A'&&a[0]<='Z'||a[0]>='a'&&a[0]<='z'||a[0]=='_')
flge1=1;
else
flge1=0;
n=strlen(a);
for(i=1;i<n;i++)
if(a[i]>='A'&&a[i]<='Z'||a[i]>='a'&&a[i]<='z'||a[i]=='_'||a[i]>='0'&&a[i]<='9') // a[0]<='Z', 这里有个bug
flge=1;
else
{
flge=0;
break;
}
if(flge==1&&flge1==1)
return 1;
else
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
porker2008
2011-07-16 · TA获得超过1.4万个赞
知道大有可为答主
回答量:7066
采纳率:62%
帮助的人:1.1亿
展开全部
#include<stdio.h>
#include<string.h>
void main()
{
char s[51];
int n,m,i,j,a;
scanf("%d",&n);
getchar();
while(n--)
{
gets(s);
if((s[0]>='a' && s[0]<='z') || (s[0]>='A' && s[0]<='Z') || s[0]=='_')
a=0;
else
a=1;

m=strlen(s);
for(j=1;a==0&&j<m;j++)
{
if((s[j]>='a' && s[j]<='z') || (s[j]>='A' && s[j]<='Z') || s[j]=='_' || (s[j]>='0' && s[j]<='9'))
a=0;
else
a=1;
}
if(a==0)
printf("yes\n");
else
printf("no\n");
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式