c语言任意输入一个年月日,计算并输出该天是该年的第几天
时间: 2023-09-08 09:02:01 浏览: 415
假设输入的年月日分别为year、month、day,首先需要判断输入的年份是否为闰年。根据闰年的规则,若年份能被4整除但不能被100整除,或者能被400整除,则该年为闰年。
接着,可以使用一个大小为12的数组,将每个月份的天数存储进去。例如,数组中的第一个元素代表1月的天数,第二个元素代表2月的天数,以此类推。
接下来,进行计算。首先,计算输入日期中月份之前的所有天数之和。接着,再加上输入日期的天数。最后,如果该年为闰年,且输入的月份大于2月,则总天数还需要加1。
最后,将计算结果输出即可。
以下是一个示例的C语言代码实现:
```c
#include<stdio.h>
int main() {
int year, month, day;
int leap = 0;
int days = 0;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day);
// 判断是否是闰年
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
leap = 1;
}
// 存储每个月份的天数
int monthDays[12] = {31, 28 + leap, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 计算总天数
for (int i = 0; i < month - 1; i++) {
days += monthDays[i];
}
days += day;
// 输出结果
printf("该天是该年的第%d天\n", days);
return 0;
}
```
以上代码可以根据输入的年月日,计算出该天是该年的第几天,并将结果输出。
阅读全文