定义一个结构体变量(包括年月日)。计算该日在本年中是第几天?注意闰年问题。
/*
*定义一个结构体变量(包括年月日)。计算该日在
*本年中是第几天?注意闰年问题。
*/
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
struct DAY{
int year;
int month;
int day;
};
int col(struct DAY days){
int ifrun = 0;
int sum = 0;
if(days.year % 4 == 0){
if(days.year % 100 != 0 || days.year % 400 ==0){
ifrun = 1;
}else
ifrun = 0;
}else
ifrun = 0;
int run[12] = {31,29,31,30,31,30,31,31,30,31,30,31};
int pin[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
if(ifrun == 1)//run
for(int i = 1;i < days.month;i++)
sum += run[i-1];
else{//ping
for(int i = 1;i < days.month;i++)
sum += pin[i-1];
}
sum = sum + days.day;
return sum;
}
int main(void){
printf("请输入年月日:");
struct DAY days;
scanf("%d%d%d",&days.year,&days.month,&days.day);
int t = col(days);
printf("%d年%d月%d日是%d年的第%d天\n",days.year,days.month,days.day,days.year,t);
return 0;
}