codeup问题A日期差值
个人测试通过了
给各位大神看客老爷放个图
在vscode里进行编译的,vs也可以看个人喜好吧
ok咱们直接上代码
#include<iostream>
#include<cstdio>
using namespace std;
int month[13][2] = { {0,0},{31,31},{28,29},{31,31},{30,30},{31,31},{30,30},{31,31},{31,31},{30,30},{31,31},
{30,30},{31,31 } };
int comapre2(int Year)
{
if (Year % 4 == 0 )//一般能被4整除的都是闰年,
//觉得不细节的可以再去网
//上看看闰年的算法,这里只是简略写了
{
return 0;//表示闰年
}
else
return 1;//平年
}
void swap1(int *data1, int *data2)
{
if (*data1 > *data2)
{
int T = *data1;
*data2 = *data1;
*data1 = T;
}
return;
}
int main()
{
int Y1, Y2, M1, M2, D1, D2, data1, data2, days = 1;
cout << "请输入日期例如:20181103" << endl;
cin >> data1;
cin >> data2;
int* a = &data1;
int* b = &data2;
swap1(a, b);
Y1 = data1 / 10000, M1 = data1 % 10000 / 100, D1 = data1 % 100;
Y2 = data2 / 10000, M2 = data2 % 10000 / 100, D2 = data2 % 100;
int k = comapre2(Y1);
while (Y1 < Y2 || M1 < M2 || D1 < D2)
{
D1++;
if (D1 == month[M1][k] + 1)
{
M1++;
D1 = 1;
}
if (M1 > 12)
{
Y1++;
M1 = 1;
}
days++;
}
cout << "天数为:*******" << days << "********" << endl;
return 0;
}
这里是我的博客
冰冻三尺非一日之寒
我们一起加油!
有不对的地方希望大佬帮忙指出!