解题思路:定义一个结构体模板,先判断是闰年还是平年,然后再分别赋值
注意事项:
参考代码:
#include<stdio.h>
struct Date {
int month;
int days;
};
int main(void)
{
struct Date leap_year[12] = {
{1, 31},{2, 29},{3, 31},{4, 30},{5, 31},{6, 30},{7, 31},{8, 31},{9, 30},{10, 31},{11, 30},{12, 31}
}; //闰年
struct Date non_leap_year[12] = {
{1, 31},{2, 28},{3, 31},{4, 30},{5, 31},{6, 30},{7, 31},{8, 31},{9, 30},{10, 31},{11, 30},{12, 31}
}; //平年
int i, x, y, z; //x, y, z分别是年,月,日
int total = 0; //总天数
scanf("%d %d %d", &x, &y, &z);
if ((!(x%4) && x%100) || !(x%400)) //判断是不是闰年
{
for (i = 0; i < y - 1; i++) //把y月之前每个月的天数加起来,然后加当月的天数
total += leap_year[i].days;
total += z;
}
else //判断是不是平年
{
for (i = 0; i < y - 1; i++)
total += non_leap_year[i].days;
total += z;
}
printf("%d", total);
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:689 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1091 |
简单的a+b (C语言代码)浏览:764 |
奖学金 (C++代码)浏览:2053 |
C语言训练-大、小写问题 (C语言代码)浏览:2421 |
数列排序 (C语言代码)浏览:858 |
【计算两点间的距离】 (C语言代码)浏览:927 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1071 |
【计算两点间的距离】 (C语言代码)浏览:1522 |
星期判断机 (C语言代码)浏览:892 |