海大17年秋编程题1:输入一个日期,请编程计算这个日期是该年的第几天? 例如输入:2000-2-1 输出:2000年2月1日是2000年的第32天。(10分)

这是一道中国海洋大学《高级程序设计》2017年秋季的编程题,要求输入一个日期,计算它在当年的第几天。解题思路包括输入年月日,用数组存储每月天数,通过循环计算总天数,并考虑闰年的情况。代码部分展示了如何实现这一功能。

题目

本题是中国海洋大学《高级程序设计》2017年秋季编程题第1题。
题目:
输入一个日期,请编程计算这个日期是该年的第几天?
例如输入:2000-2-1
输出:2000年2月1日是2000年的第32天。(10分)


以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj

一、解题思路

思路:
1,首先输入年,月,日
2,然后定义一个整形数组,将12个月份的各个天数赋值给数组各个元素,第0个元素暂时赋值为0;
3,for循环从1到当前月份,sum+=数组元素【i】
4,循环完毕后加上当月天数
5,如果月份大于2,判断一下该年是否为闰年,是的话天数+1。
6,按格式输出即可。

二、代码部分

1.引入库

代码如下(示例):

#include<Stdio.h>

2.主函数部分

代码如下(示例):

void main()
{
	int year, mouth, day;
	int a[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };//平年2月份28天
	int i;
	printf("请输入一个日期:");
	scanf("%d-%d-%d", &year, &mouth, &day);
	int sum = 0;
	for (i = 1; i < mouth; i++)
		sum += a[i];
	sum = sum + day;
	if (mouth > 2)//月份大于2才计算是否是闰年,因为闰年的2月份有29天
		if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)//判断闰年:能被4整除不能被100整除,或者直接能被400整除
			sum = sum + 1;//闰年的2月份比平年多出一天
	printf("%d年%d月%d日是%d年的第%d天。", year, mouth, day,year, sum);
}

三、执行结果

在这里插入图片描述

输入:

请输入一个日期:2000-2-1

输出:

200021日是2000年的第32天。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立志冲海大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值