当前位置: 代码迷 >> C语言 >> 帮忙排排错
  详细解决方案

帮忙排排错

热度:156   发布时间:2008-04-06 20:23:15.0
程序代码:
#include<stdio.h>
#include<string.h>

int main(void)
{
    int n;
    int i,j,k;
    char s[101],cmp[5]="BUAA";
    scanf("%d",&n); gets(s);
    for(i=0;i<n;i++)
    {
      memset(s,0,sizeof(s));
      gets(s);
      j=0;
      for(k=0;k<101;k++)
      {
        if(s[k]==cmp[j]) { j++; if(j==4) break; }
      }
      if(j==4) printf("Case %d: Yes\n",i+1);
      else printf("Case %d: No\n",i+1);
    }
    return 0;
}


[[it] 本帖最后由 卧龙孔明 于 2008-4-6 20:24 编辑 [/it]]
----------------解决方案--------------------------------------------------------
对了,是否要考虑buaa(小写)?
----------------解决方案--------------------------------------------------------
不好意思,比赛结束了提交不了了。
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]卧龙孔明[/un] 在 2008-4-6 20:27 的发言:[/bo]

对了,是否要考虑buaa(小写)?

应该不用,应为题目里说了只会出现大写字母
----------------解决方案--------------------------------------------------------
那您测一下这组数据
1
BUA ACBU
我的程序中考虑了空格等间隔符,可能您的程序在这里出的问题
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]卧龙孔明[/un] 在 2008-4-6 20:31 的发言:[/bo]

那您测一下这组数据
1
BUA ACBU
我的程序中考虑了空格等间隔符,可能您的程序在这里出的问题

“There are no spaces, TABs, lowercase letters or other characters
before, or after the string.”
估计就错在这了,说了前后没有空格,但没说中间,出题的太阴了
多谢孔明了
----------------解决方案--------------------------------------------------------
  相关解决方案