编写计算天数的程序,用户从键盘中输入年、月、日,在屏幕中输出此日期是该年的第几天。
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()
显示如下: