题目定义一个结构体变量,包含年、月、日。根据控制台给出的日期,计算该日在本年中是第几天,注意闰年问题。
#include<stdio.h>
#include<time.h>
int main(void)
{
int n, sum = 0;
struct {
int year;
int month;
int day;
}date;
printf("请输入年份:");
scanf_s("%d", &date.year);
printf("请输入月份:");
scanf_s("%d", &date.month);
printf("请输入日期:");
scanf_s("%d", &date.day);
if (date.year % 4 == 0 && date.year % 100 != 0) {
int ar[] = { 31,29,31,30,31,30,31,31,30,31,30,31 };
int i = date.month;
for (int j = 0; j < i-1; j++)
sum += ar[j];
sum = sum + date.day;
printf("该日是本年(闰年)的第%d天\n", sum);
}
else{
int ar[] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
int i = date.month;
for (int j = 0; j < i - 1; j++)
sum += ar[j];
sum = sum + date.day;
printf("该日是本年(平年)的第%d天\n", sum);
}
return 0;
}