C语言中,~如何用表示一个取值范围里除去一个取值范围?已知,x 的取值范围1------表达式1-------比如 1
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/10 14:54:58
![C语言中,~如何用表示一个取值范围里除去一个取值范围?已知,x 的取值范围1------表达式1-------比如 1](/uploads/image/z/8553688-16-8.jpg?t=C%E8%AF%AD%E8%A8%80%E4%B8%AD%2C%7E%E5%A6%82%E4%BD%95%E7%94%A8%E8%A1%A8%E7%A4%BA%E4%B8%80%E4%B8%AA%E5%8F%96%E5%80%BC%E8%8C%83%E5%9B%B4%E9%87%8C%E9%99%A4%E5%8E%BB%E4%B8%80%E4%B8%AA%E5%8F%96%E5%80%BC%E8%8C%83%E5%9B%B4%3F%E5%B7%B2%E7%9F%A5%2Cx+%E7%9A%84%E5%8F%96%E5%80%BC%E8%8C%83%E5%9B%B41------%E8%A1%A8%E8%BE%BE%E5%BC%8F1-------%E6%AF%94%E5%A6%82+1)
C语言中,~如何用表示一个取值范围里除去一个取值范围?已知,x 的取值范围1------表达式1-------比如 1
C语言中,~如何用表示一个取值范围里除去一个取值范围?
已知,x 的取值范围1------表达式1-------比如 1
C语言中,~如何用表示一个取值范围里除去一个取值范围?已知,x 的取值范围1------表达式1-------比如 1
#include <stdio.h>
void getrange(int a1,int b1,int a2,int b2)/*a1,b1分别为范围1的下上限,a2,b2分别为范围2的下上限*/
{
int lr,hr,lt,ht;
lr=hr=lt=ht=-1;
if(a1<=a2)
{
if(b1<=a2)
{
lr=a1;
hr=b1;
}
else if(b1>a2 && b1<=b2)
{
lr=a1;
hr=a2;
}
else
{
lr=a1;
hr=a2;
lt=b2;
ht=b1;
}
}
else if(a1>a2 && a1<b2)
{
if(b1>b2)
{
lr=b2;
hr=b1;
}
}
else
{
lr=a1;
hr=b1;
}
if(lr!=-1)
printf("范围1减去范围2之后的范围是:%d<x<%d\n",lr,hr);
else
printf("范围1减去范围2之后为空\n");
if(lt!=-1)
printf("范围1减去范围2之后的范围二是:%d<x<%d\n",lt,ht);
}
void main()
{
int a1,b1,a2,b2;
printf("当输入的范围1的上下限都为0的时候程序退出\n");
printf("分别输入范围1的上下限:");
scanf("%d%d",&a1,&b1);
printf("分别输入范围2的上下限:");
scanf("%d%d",&a2,&b2);
while(1)
{
if(a1==0 && b1==0)
break;
getrange(a1,b1,a2,b2);
printf("分别输入范围1的上下限:");
scanf("%d%d",&a1,&b1);
printf("分别输入范围2的上下限:");
scanf("%d%d",&b2,&b2);
}
}