//编程计算一年中从第m个月到第n个月共有多少天
//算法思路:本程序的设计思路时计算从1到m+n-1个月的总天数,减去1到m-1个月的天数,即为结果。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int y, m, n;//定义变量用于接收该年月日
int f;//用于接收是否为闰年的真值
int sum1 = 0, sum2 = 0;
int sum;
printf("请输入年,月1,月2分别是:");
scanf("%d,%d,%d", &y, &m, &n);//接收用户的输入
//判断输入的月1与月2的合理性
if (n < 1 || m < 1 || n>12 || m>12||m+n>13)
{
printf("输入有误,请重新输入!");
}
//判断该年是否是闰年,因为闰年比平年在2月份的天数多一天
f = (y % 4 == 0 && y % 100 != 0 && y % 400 == 0);
int a[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
int b[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 };
if (f == 1)
{
for (int i = 0; i < m + n-1; i++)
{
sum1 = sum1 + b[i];
}
for (int i = 0; i < m-1; i++)
{
sum2 = sum2 + b[i];
}
sum = sum1 - sum2;
}
else
{
for (int i = 0; i < m + n-1; i++)
{
sum1 = sum1 + a[i];
}
for (int i = 0; i < m-1; i++)
{
sum2 = sum2 + a[i];
}
sum = sum1 - sum2;
}
printf("总天数为:%d", sum);
}