暨南大学复试上机_1402

一坐标轴表示某道路,从0开始 到L,整数位置上都种有一颗树。现在该路修建地铁,要砍掉铁路线路上的树木。例如:L等于10,铺设4条铁路,坐标是1到2,2到3,2到8,3到5,那么1到8的树都要被砍掉,剩下0,9,10三棵。程序要求,输入L,输入铁路铺设条数m,然后输入m组铁路的坐标。求剩下多少棵树。

#include 
#include
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;
} 

你可能感兴趣的:(暨南大学复试上机_1402)