中易网

c如何设计一函数,求整数区间[a,b]和[c,d]的交集

答案:1  悬赏:30  
解决时间 2021-01-08 03:36
c如何设计一函数,求整数区间[a,b]和[c,d]的交集
最佳答案
// 闭包区间结构体
struct ClosureSection
{
    ClosureSection(){nLowBound = 0;nUpBound = -1;}    // 默认构造使上限小于下限
    int nLowBound;
    int nUpBound;
}

// 查找交集的函数,传入闭包区间1,2,引用返回结果
// 函数内部是判断完立即处理返回区间的范围,其实可以先创建一个局部变量用来记录
// 区间下限所处的实参,再在代码内统一处理
bool FindIntersection(ClosureSection s1, ClosureSection s2, ClosureSection &sRet)
{
    // 判断最小值是否s2的下限
    // 不需要建立这个局部变量,这样纯粹是为了清晰
    bool bMinIns2 = s1.nLowBound >= s2.nLowBound && s1.nLowBound <= s2.nUpBound; 
    if(bMinIns2)
    {
        sRet.nLowBound = s1.nLowBound;
        
        // 取s2和s1的较小上限
        sRet.nUpBound = min(s1.nUpBound, s2.nUpBound);
        return true;
    }
    else
    {
        bool bMinIns1 = s2.nLowBound >= s1.nLowBound && s2.nLowBound <= s1.nUpBound;
        if(bMinIns1)
        {
            sRet.nLowBound = s2.nLowBound;
            sRet.nUpBound = min(s1.nUpBound, s2.nUpBound);
            return true;       
        }
    }
    
    return false;
}追问老哥,能不能用c写,c++没学过追答你用c写也是一样的,你把那个ClosureSection直接拆成两个参数放进去。
比如ClosureSection s1拆成int nS1LowBound, int nS1UpBound,函数内的s1.nUpBound直接改为nS1UpBound就行。

印象中C应该也有结构体吧,不写这个东西参数有点多。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
视频编辑后版权是否为原创?
别董大这首诗什么意思
中国历史上,辽国比北宋早建立几年是不是。
蒙这个字怎么读,蒙怎么念,蒙怎么拼音,蒙怎
电容100p 就是1uf 吗?
台上三分钟,台下十年功。 师傅领进门,修行
爱派尔iph7是不是杂牌机
张亮是哪里人
请问去德国留学,之前要参加什么考试
大天使之剑神圣魔导十一阶套装属性有哪些 效
TANK007手电如何选购?
笼子里关一只老虎外面一个武士是什么成语
孙悟空师徒三人是什么意思?
x比6.25等于6比四解比例
我姓尤 我以姓尤为骄傲 写150字
推荐资讯
中国淡水珍珠的产地?
儿童换牙早了什么原因
NBA2K12黑屏一下就出来了
我叫常毕莹,这个名字好不好能打多少分
华翎钢管舞培训地址在什么地方,想过去办事
猜猜GTA5里三个角色的全名
江新村怎么去啊,有事要去办理
我因受不了家庭暴力,最后出轨了,老公知道后
怎样查询往QQ里总共冲了多少钱
若括号a+b括号×c=281×c=c则a×c等于几
三星dv150f怎么连接手机
220KV零序过压、零序方向过流、零序过流保护
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?