编写函数dayOfYear(year, mouth,day),使得函数返回由这三个参数确定的那一天是一年中的第⼏天.
int dayOfYear(int year, int mouth, int day); //函数声明
int main {
//定义年月日并且输入后保存到三个变量中
int year = 0;
int mouth =0;
int day = 0;
printf("请输入年月日(xxxx.xx.xx):");
scanf("%d.%d.%d", &year, &mouth, &day);
int num = dayOfYear(year, mouth, day);//调用函数
printf("今天是这一年的第%d天", num);
return 0;
}
int dayOfYear(year, mouth, day){
int value = 0;//用来存储某天为那年的第几天
int temp = 0;//定义一个变量存储每个月的天数
//从第一个月开始循环天数,累计每个月天数和
for (int i =1; i < mouth; i++) {
//判断是否为闰年, 2月天数特殊
if (year % 4 ==0) {
if (i == 2) {
temp =29;
}
continue;
}
//判断当月天数
switch (i) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
temp =31;
break;
case 4:
case 6:
case 9:
case 11:
temp = 30;
break;
case 2:
temp = 28;
break;
default:
break;
}
//累计当月之前的天数
value += temp;
}
//总天数
value = value + day;
return value;
}