c语言输入某年某月某日,判断这一天是这一年的第几天 [要求:函数Day使用数组实现上述功能;主函数输入数据并调用函数Day,输出结果。]
时间: 2024-04-04 16:26:21 浏览: 117
以下是使用C语言实现的代码,可以输入某年某月某日,判断这一天是这一年的第几天:
```c
#include <stdio.h>
int isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return 1; // 是闰年
} else {
return 0; // 不是闰年
}
}
int Day(int year, int month, int day) {
int daysInMonth[] = {0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int totalDays = 0;
// 计算前几个月的天数
for (int i = 1; i < month; i++) {
totalDays += daysInMonth[i];
}
// 如果是闰年且输入月份大于2月,则需考虑多加一天
if (isLeapYear(year) && month > 2) {
totalDays += 1;
}
// 加上输入的天数
totalDays += day;
return totalDays;
}
int main() {
int year, month, day;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day);
int result = Day(year, month, day);
printf("这一天是这一年的第%d天\n", result);
return 0;
}
```
阅读全文