yueyufeng 发表于 2023-11-26 19:50:33

运行错误

测试案例有多组,每个案例: 第一行输入两个数n,m(n<100 && m<100)。

X想要去的地方有个,女友想要去的地方有m个。之后n行,每行一个字符串(长度小于10)表示X想去的地名。 之行,每行一个字符串(长度小于10)表示女友想去的地名。

#include <stdio.h>
#include <string.h>
int main() {
    char x;
    char she;
    int n,m,i,j,num,t=0;
    while(scanf("%d%d",&n,&m)==2&&n!=0&&m!=0)
    {
      char yi;
      for(i=0;i<n;i++)
         {
            scanf("%s",x);
      }
      for(i=0;i<m;i++)
         {
            scanf("%s",she);
      }
      for(i=0;i<n;i++)
         {
            for(j=0;j<m;j++)
            {
                if (strcmp(x,she)==0)
               {
                   num=1;
                   strcpy(yi,x);
                }
            }
      }
      if(num==1)
      {
          char yang;
          for(i=0;i<t;i++)
          {
            for(j=0;j<t-i-1;j++)
            {
                  if(strcmp(yi,yi)>0)
                  {
                      strcpy(yang,yi);
                      strcpy(yi,yi);
                      strcpy(yi,yang);
                  }
            }
          }
          for(i=0;i<t;i++)
          {
            printf("%s\n",yi);
          }
      }
      else
      {
          printf("sad!\n");
      }
    }
    return 0;
}

FishC_GPT 发表于 2023-11-26 19:50:46

根据你的描述,我可以看出你遇到了运行错误。错误可能是由于输入格式不正确或者代码逻辑问题造成的。以下是一份假设有多组测试案例的示例代码,并提供了一种可能的解决方法。

while True:
    try:
      n, m = map(int, input().split())
      
      # 在这里编写你的代码逻辑
      
    except EOFError:
      break

在这个示例代码中,我们使用了一个死循环来不断读取输入,直到遇到文件末尾。每次循环开始时,我们尝试读取两个整数n和m,然后在`#在这里编写你的代码逻辑`的位置编写你的代码逻辑。当遇到文件末尾时,`EOFError`异常被捕获,从而退出循环。

你需要根据具体的问题来填充代码逻辑部分。提供更多的细节将有助于我提供更具体的建议。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 运行错误