C 练习实例4

C 练习实例4,第1张

C 练习实例4

题目:输入某年某月某日,判断这一天是这一年的第几天?

程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

程序代码:

#include
using namespace std;

//思路:
// 1、对输入的年月进行判断
// 2、如果月份是1,则天数 = 0+日数
//    如果月份是2,则天数 = 31+日数
//往下以此类推……
//3、当月数大于2时,判断是否为闰年,是闰年则总天数加一。
//4、输出总天数

bool isLeap(int year)
{
	if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0) return true;
	return false;
}

int main()
{
	int y, m, d, sum;
	cin >> y >> m >> d;
	switch (m)
	{
	case 1:sum = 0; break;
	case 2:sum = 31; break;
	case 3:sum = 59; break;//默认是平年
	case 4:sum = 90; break;
	case 5:sum = 120; break;
	case 6:sum = 151; break;
	case 7:sum = 181; break;
	case 8:sum = 212; break;
	case 9:sum = 243; break;
	case 10:sum = 273; break;
	case 11:sum = 304; break;
	case 12:sum = 334; break;
	}
	if (isLeap && m > 2)
		cout << sum + d << endl;
	else 
	{
		cout << sum + d << endl;
	}
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5579378.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存