输入某年某月某日,判断这一天是这一年的第几天,并输出今年还剩下多少天?
例如输入2020,12,25,则输出12月25日为20年的第360天,今年还剩下6天
程序如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int year;
int mouth;
int day;
int output_year1;//年份个位
int output_year2;//年份十位
int output_day1=0;//第几天
int output_day2=0;//剩余日子
int i,j;
int a1[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//平年
int a2[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};//闰年
printf("please input:\n");
scanf("%d,%d,%d",&year,&mouth,&day);
output_year1=year%10;
output_year2=year/10%10;
if(((year%4==0)&&(year%100!=0))||(year%400==0))//判断是否闰年
{
for(i=0;i<=mouth-1;i++)
{
output_day1=output_day1+a2[i];
}
output_day1=output_day1+day;
for(j=mouth+1;j<=12;j++)
{
output_day2=output_day2+a2[j];
}
output_day2=output_day2+(a2[mouth]-day);
}
else
{
for(i=0;i<=mouth-1;i++)
{
output_day1=output_day1+a1[i];
}
output_day1=output_day1+day;
for(j=mouth+1;j<=12;j++)
{
output_day2=output_day2+a1[j];
}
output_day2=output_day2+(a1[mouth]-day);
}
printf("%d月%d号为%d%d年的第%d天,今年还剩下%d天\n",mouth,day,output_year2,output_year1,output_day1,output_day2);
return 0;
}
运行结果如下: