最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

C++—实战学习程序(3)计算某日是该年的第几天

C++ 少儿编程 2072浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

    用户从键盘中输入年、月、日,在屏幕上输出显示该日期是该年的第几天。

思路:

1、判断输入的年份是否是闰年。闰年的判别条件是能被4整除,但不能被100整除;或者能被400整除。

2、求此日期是该年的第几天。这里将12个月每个月的天数存在数组中,并且采用两个数组分别保存平年和闰年的每个月的天数。计算日期是第几天时,只需要累计月份之前每个月的天数,再加上输入的日数。

代码

int leap(int a)/*自定义函数leap用来指定年份是否为闰年*/

{

if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0)/*闰年判定条件*/

{

return 1;/*是闰年返回1*/

}

return 0;/*不是闰年返回0*/

}

 

int number(int year, int m, int d) /*自定义函数number计算输入日期为该年第几天*/

{

int sum = 0, i;

int a[12] =

{

31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31

};/*数组a存放平年每月的天数*/

int b[12] =

{

31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31

};/*数组b存放闰年每月的天数*/

if (leap(year) == 1)/*判断是否为闰年*/

{

for (i = 0; i < m – 1; i++)

{

sum += b[i];/*是闰年,累加数组b前m-1个月份天数*/

}

}

else

{

for (i = 0; i < m – 1; i++)

{

sum += a[i];/*不是闰年,累加数组a钱m-1个月份天数*/

}

}

sum += d;/*将前面累加的结果加上日期,求出总天数*/

return sum;/*将计算的天数返回*/

}

 

int main(){

int year, month, day, n;/*定义变量为基本整型*/

cout << “请输入年月日:”;

cin >> year;

cin >> month;

cin >> day;/*输入年月日*/

n = number(year, month, day);/*调用函数number*/

cout << “第” << n << “天” << endl2;

return 0;

}

转自公众号:
南昌青少年编程

您必须 登录 才能发表评论!