笔记整理--找人问题及/2026.7.18
找人问题:
问题的要求是输入一个时间段和一个人作案的时间,判断这个时间是否处在这个时间段内,注意判断输入的时间段的前后顺序并进行分支运算,可以将时间(年月日)转化为三个数字(八位数)并比较大小
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int main(){
int a1,b1,a2,b2;
cin>>a1>>b1>>a2>>b2;
if(a1>a2){
swap(a1,a2);
swap(b1,b2);
}int ans=0;
if(b1<a2)
ans=0;
else if(b2<=b1)
ans=b2-a2;
else
ans=b1-a2;
cout<<ans;
return 0;
}
区间排序
题目要求输入两个人的工作时间段(开始小时与结束小时),求两个人的工作时间的重合部分,可以分为三种情况,再分别讨论,可以运用swap函数
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int main(){
int a1,b1,a2,b2;
cin>>a1>>b1>>a2>>b2;
if(a1>a2){
swap(a1,a2);
swap(b1,b2);
}int ans=0;
if(b1<a2)
ans=0;
else if(b2<=b1)
ans=b2-a2;
else
ans=b1-a2;
cout<<ans;
return 0;
}

浙公网安备 33010602011771号