C语言计算距离生日天数

#include
int jisuan(int n, int y, int r) {int yue = 4, ri = 1, sum = 0, i = 0, er = 0; //生日int gy[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};if (n % 4 == 0) gy[2] = 29;if (y == yue && ri > r) {sum = sum + ri - r;    //顺同月剩余天数if (y == 2) er = 1;}if (y == yue && r > ri) {sum = sum + r - ri;    //逆同月剩余天数i = 1;if (y == 2) er = 1;}if (y < yue) {sum = sum + gy[y] - r + ri;    //顺两月剩余天数y++;if (y == 2) er = 1;}if (yue < y) {sum = (sum + gy[yue] - ri + r);//逆两月剩余天数if (yue == 2) er = 1;yue++;i = 1;    //备注是需要跨年计算}while (y < yue) {//顺叠加sum = sum + gy[y];if (y == 2) er = 1;y++;}while (yue < y) {//逆叠加sum = sum + gy[yue];if (yue == 2) er = 1;yue++;}if (i == 1) sum = 365 - sum;//跨年逆差if (n % 4 == 0 && er == 1 && i == 1) sum = sum - 1;if (n + 1 % 4 == 0 && i == 1 && er == 1) sum = sum + 1; //跨年是闰年时printf("\t%d天", sum);return 0;
}int main() {jisuan(2000, 1, 29); //日期return 0;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部