C 语言实例4-判断这一天是这一年的第几天

题目

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

程序分析

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

代码

//题目:输入某年某月某日,判断这一天是这一年的第几天?
#include <stdio.h>

int main ()
{
	int year, month, day;
	int sum = 0;
	int leap;
	
	printf("请输入年 月 日:");
	scanf("%d %d %d", &year, &month, &day);
	printf("你输入的是%d,%d,%d\n", year, month, day);
	
	switch (month) {
		case 1: printf("1月份\n"); sum=0; break;
		case 2: printf("2月份\n"); sum=31; break;
		case 3: printf("3月份\n"); sum=59; break;
		case 4: printf("4月份\n"); sum=90; break;
		case 5: printf("5月份\n"); sum=120; break;
		case 6: printf("6月份\n"); sum=151; break;
		case 7: printf("7月份\n"); sum=181; break;
		case 8: printf("8月份\n"); sum=212; break;
		case 9: printf("9月份\n"); sum=243; break;
		case 10: printf("10月份\n"); sum=273; break;
		case 11: printf("11月份\n"); sum=304; break;
		case 12: printf("12月份\n"); sum=334; break;
	}
	
	if (year%400==0 || year%4==0 && year%100!=0) {
		leap = 1;
	} else {
		leap = 0;
	}
	if (leap==1 && month>2) {
		sum ++;
	}
	
	sum = sum + day;
	printf("第%d天\n", sum);
	
	return 0;
	
}

Sample input

2000 2 20

Sample output

请输入年 月 日:2000 2 20
你输入的是2000,2,20
2月份
第51天

--------------------------------
Process exited after 6.028 seconds with return value 0
请按任意键继续. . .

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值