一坐标轴表示某道路,从0开始 到L,整数位置上都种有一颗树。现在该路修建地铁,要砍掉铁路线路上的树木。例如:L等于10,铺设4条铁路,坐标是1到2,2到3,2到8,3到5,那么1到8的树都要被砍掉,剩下0,9,10三棵。程序要求,输入L,输入铁路铺设条数m,然后输入m组铁路的坐标。求剩下多少棵树。
#include<stdio.h>
#include<string.h>
int a[100];
void func(int a[],int low,int high){
for(int i=low;i<=high;i++){
if(a[i]){
a[i]=0;
}
}
}
int main(){
int L,m,l,h;
memset(a,1,sizeof(a));
printf("请输入L:\n");
scanf("%d",&L);
printf("请输入m:\n");
scanf("%d",&m);
printf("输入%d组铁路的坐标:\n",m);
while(m--){
scanf("%d %d",&l,&h);
func(a,l,h);
}
int count=0;
for(int i=0;i<=L;i++){
if(a[i]){
count++;
}
}
printf("剩下%d颗数",count);
return 0;
}