不是`a[q][0]<=i<=a[q][1]` 是`a[q][0]<=i&&i<=a[q][1]`
`while`没写`i++`
by wang1h @ 2023-08-08 17:45:10
@[zhaoanqiEtayo](/user/1027350) 中间两层 for 套一层 while 的循环可以缩成两层 for 循环
```
for(q=0;q<m;q++)
{
for(i=a[q][0];i<=a[q][1];i++)
{
b[i]=1;
}
}
```
by wunaidedanjuan @ 2023-08-08 17:46:32
```
#include<stdio.h>
#include<stdlib.h>
int main()
{
int l,m,i,j,p,q;
scanf("%d %d\n",&l,&m);
int a[m][2],b[l+1];
for(i=0;i<m;i++)
{
for(j=0;j<2;j++)
{
scanf("%d ",&a[i][j]);
}
}
for(p=0;p<=l;p++)
{
b[p]=0;
}
for(q=0;q<m;q++)
{
for(;a[q][0]<=a[q][1];a[q][0]++)
{
b[a[q][0]]=1;
}
}
int c=0;
for(i=0;i<=l;i++)
{
if(b[i]==0)
{
c++;
}
}
printf("%d",c);
return 0;
}
```
by wang1h @ 2023-08-08 17:48:49
楼上正解
@[zhaoanqiEtayo](/user/1027350)
by wang1h @ 2023-08-08 17:49:33
```c
#include<stdio.h>
#include<stdlib.h>
int main()
{
int l,m,i,j,p,q;//长度l,数目m
scanf("%d %d\n",&l,&m);
int a[100][2],b[l+1];
for(i=0;i<m;i++)
{
for(j=0;j<2;j++)
{
scanf("%d ",&a[i][j]);
}
}
for(p=0;p<=l;p++)
{
b[p]=0;
}
for(q=0;q<m;q++)
{
for(i=a[q][0];i<=a[q][1];i++)
{
b[i]=1;
}
}
int c=0;
for(i=0;i<=l;i++)
{
if(b[i]==0)
{
c++;
}
}
printf("%d",c);
return 0;
}
```
@[wang1h](/user/556072) 这样可以吗?
by zhaoanqiEtayo @ 2023-08-08 17:54:46