为什么我用循环的时候这样只输入一行就输出了

img

#include<stdio.h>
int main()
{
    int n,a,b,c,d,e,g,h,l;
    scanf("%d",&n);
    int sum[n],x[n],y[n];
    for(int i=0;i<n;i++) 
    {
    scanf("%d %d %d %d %d",&x[i],&y[i],&a,&b,&c,&d,&e);
    sum[i]=a+b+c+d+e;
    }
  
  for(int i=0;i<n-1;i++)
  {
      for(int j=i+1;j<n;j++)
     {
         if(sum[i]>sum[j])
         {
             g=sum[i];
             sum[i]=sum[j];
             sum[j]=g;
             h=x[i];
             x[i]=x[j];
             x[j]=h;
             l=y[i];
             y[i]=y[j];
             y[j]=l;
         }
     }
  }
  for(int i=0;i<n;i++)
  {
      printf("%d %d total=%d\n",x[i],y[i],sum[i]);
  }
  return 0;
}

不知道该咋搞。

scanf("%d %d %d %d %d",&x[i],&y[i],&a,&b,&c,&d,&e);
五个%d,后面却有七个输入参数。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^