@[zhz_94me](/space/show?uid=101042)
哪到
by 初嫁QAQ @ 2018-07-15 12:41:13
@[zhz_94me](/space/show?uid=101042)
#include<cstdio>
using namespace std;
int a[128],b[128],c[128],d[128];
int main()
{
int i,b,n,x,y;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]);
if ((a[i]<=x)&&(b[i]<=y)&&(a[i]+c[i]>=x)&&(b[i]+d[i]>=y))
b=i;
else
b=-1;
}
printf("%d",b);
return 0;
}
错误,。。。
by 初嫁QAQ @ 2018-07-15 13:23:07
```
#include <cstdio>
using namespace std;
int a[128],b[128],c[128],d[128];
int main()
{
int i,b,n,x,y;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d %d %d %d",&a[i],&b[i],&c[i],&d[i];
if((a[i]<=x)&&(b[i]<=y)&&(a[i]+c[i]>=x)&&(b[i]+d[i]>=y;
b=i;
else
b=-1;
}
printf("%d",b");
return 0;
}
```
by zhz小蒟蒻 @ 2018-07-15 13:47:58
有些小地方打错了,不要在意那些细节
by zhz小蒟蒻 @ 2018-07-15 13:48:32
@[刘素质](/space/show?uid=102028) 你不应该将判断放在循环中,因为x和y还没有输入,再者,你这个判断不对应该是:
```
if(x>=a[i] && x<=a[i]+c[i] && y>=b[i] && y<=b[i]+d[i])
b=i;
```
然后将b事先等于零,如果在循环结束后,b仍然等于0,就输出-1,否则输出b的值
你看一下这样改对不对
by zhz小蒟蒻 @ 2018-07-15 13:55:19
@[zhz_94me](/space/show?uid=101042)
if是对的
by 初嫁QAQ @ 2018-07-15 14:07:04
@[zhz_94me](/space/show?uid=101042)
为什么总是输出的是-1,而不是编号
by 初嫁QAQ @ 2018-07-15 14:11:00
```
@[刘素质](/space/show?uid=102028) 你不是在铺地毯通过了吗?
你可以发私信给我,我帮你调试
```
by zhz小蒟蒻 @ 2018-07-15 14:13:46
不过现在可能没时间,我在做八皇后
by zhz小蒟蒻 @ 2018-07-15 14:14:22
@[刘素质](/space/show?uid=102028)
```
#include<cstdio>
using namespace std;
int a[10001],b[10001],c[10001],d[10001];
int main()
{
int i,e=0,n,x,y;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]);
}
scanf("%d%d",&x,&y);
for(i=1;i<=n;i++)
{
if ((a[i]<=x)&&(b[i]<=y)&&(a[i]+c[i]>=x)&&(b[i]+d[i]>=y))
e=i;
}
if(e)
printf("%d",e);
else
printf("-1");
return 0;
}
```
代码帮你改好了,先将e初始化为0
在外面判断
by zhz小蒟蒻 @ 2018-07-15 14:29:37