闰年c语言程序怎么写

时间:2025-01-18 01:06:04 游戏攻略

在C语言中,可以通过以下几种方法来判断一个年份是否为闰年:

方法一:使用条件语句

```c

include

int main() {

int year;

printf("请输入一个年份: ");

scanf("%d", &year);

if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {

printf("%d是闰年\n", year);

} else {

printf("%d不是闰年\n", year);

}

return 0;

}

```

方法二:使用自定义函数

```c

include

int isLeapYear(int year) {

if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {

return 1;

} else {

return 0;

}

}

int main() {

int year;

printf("请输入一个年份: ");

scanf("%d", &year);

if (isLeapYear(year)) {

printf("%d是闰年\n", year);

} else {

printf("%d不是闰年\n", year);

}

return 0;

}

```

方法三:使用switch语句(用于判断月份天数)

```c

include

int isLeapYear(int year) {

if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {

return 1;

} else {

return 0;

}

}

int daysInMonth(int year, int month) {

switch (month) {

case 2:

if (isLeapYear(year)) {

return 29;

} else {

return 28;

}

case 4:

case 6:

case 9:

case 11:

return 30;

default:

return 31;

}

}

int main() {

int year, month;

printf("请输入年份和月份: ");

scanf("%d %d", &year, &month);

printf("%d年%d月有%d天\n", year, month, daysInMonth(year, month));

return 0;

}

```

方法四:获取当前年份并判断

```c

include

include

int main() {

time_t t = time(NULL);

struct tm *now = localtime(&t);

int year = now->tm_year + 1900;

if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {

printf("%d是闰年\n", year);

} else {

printf("%d不是闰年\n", year);

}

return 0;

}

```

以上是几种常见的判断闰年的方法,可以根据具体需求选择合适的方法来实现。