某日是该年的第几天

编写计算天数的程序,用户从键盘中输入年、月、日,在屏幕中输出此日期是该年的第几天。
c代码:

#include <stdio.h>

/*********leap()函数用来确定输入的年份是否是闰年************/
int leap(int a)
{
    if(a % 4 == 0 && a % 100 != 0 || a % 400 == 0 )     //闰年能被4整除但不能被100整除,或能被400整除
		return 1;                                       //是闰年返回1
	else
		return 0;                                       //不是闰年返回0

}

int number(int year,int m,int d)
{
    int sum=0,i;
	/******数组存放每月的天数************/
	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(leap(year) == 1) 
		for(i = 0; i < m-1;i++)                 //是闰年累加数组b前m-1个月份的天数
			sum += b[i];
	else
	    for(i = 0; i < m-1;i++)                 //不是闰年累加数组a前m-1个月份的天数
			sum += a[i];
	
    sum += d;                                   //加上日期求总天数 
	return sum;
}
void main()
{
    int year,month,day,n;
	printf("请输入年月日\n");
	scanf("%d%d%d",&year,&month,&day);
    n = number(year,month,day);
	printf("第%d天\n",n);
    system("pause");
}

显示如下:
在这里插入图片描述
python代码:

##  leap()函数用来确定输入的年份是否是闰年
def leap(year):
    if year%400==0 or (year%4==0 and year%100!=0):      #闰年能被4整除但不能被100整除,或能被400整除
        return 1                          #是闰年返回1  不是闰年返回0
    else:
        return 0
def number(year,month,day):
    sum=0
    #  数组存放每月的天数
    a=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    b=[31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

    if(leap(year)== 1):
        for i in range(month-1):   #是闰年累加数组b前month-1个月份的天数
             sum += b[i]
    else:
        for i in range(month-1):    #不是闰年累加数组a前m-1个月份的天数
             sum += a[i]
    sum += day
    return sum            #加上日期求总天数
def test():
    year = int(input("请输入年份:"))
    month = int(input("请输入月份:"))
    day = int(input("请输入日:"))
    n = number(year, month, day)
    print('%d年%d月%d日是今年的第%d天!' % (year, month, day, n))
    #print("第%d天",n)
test()

显示如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值