-1
#include <stdio.h>

main()
{
  int i, t , l[100] , b[100] ;

  scanf("%d",&t);

  for(i=0 ; i < t ; i++)
  {
    scanf("%d %d",&l[i],&b[i]);
  }

  for(i=0 ; i < t ; i++)
  {
    printf("%d %d",l[i],b[i]);
  }
}

为什么程序没有正确输入。

例如,如果 t=2,l 和 b 数组应扫描两次并打印两次。那没有发生。

4

2 回答 2

0

该程序首先需要一个整数d,它定义将扫描的元素数量,然后在数组lb中打印。

会话示例:

3
1 2
3 4
5 6

输出

1 23 45 6

您可能想\n在 printf中添加一个

printf("%d %d\n",l[i],b[i]);

得到那个输出

1 2
3 4
5 6

但除此之外,该程序的输出似乎与阅读代码后的预期一致。似乎没有什么大错误(直到您尝试输入d > 100 的数据 - 从第 101 个元素开始,程序将出现意外行为)。

如果输出不符合您的期望,则必须相应地修改程序。也许您可以根据上面的输入告诉我们您想要什么样的输出,我们会提供解决方案。

于 2013-06-01T11:45:19.337 回答
0
  for(i=0 ; i < t ; i++)
  {    
    scanf("%d%d",&l[i],&b[i]); //remove space
  }

  for(i=0 ; i < t ; i++)
  {
    printf("%d %d",l[i],b[i]);
    puts("");  //just adding a new line
  }

也许您将数字 b[i] l[i+1] (一起打印)误解为一个数字。

于 2013-06-01T10:43:07.383 回答