只用c语言来做
时间: 2023-08-24 08:20:24 浏览: 58
好的,那我给您提供一个 C 语言的实现方式:
```c
#include <stdio.h>
int main() {
int year, month, days;
printf("请输入年份和月份(yyyy-mm):");
scanf("%d-%d", &year, &month);
if (month == 2) {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
days = 29;
} else {
days = 28;
}
} else {
if (month == 4 || month == 6 || month == 9 || month == 11) {
days = 30;
} else {
days = 31;
}
}
printf("%d年%d月有%d天\n", year, month, days);
return 0;
}
```
这个程序也是先让用户输入年份和月份,然后根据月份的不同,确定该月份的天数。对于二月份,需要判断该年份是否为闰年。
程序使用了 `scanf` 函数来获取用户输入的年份和月份。`scanf` 函数的第一个参数是格式化字符串,用于指定输入的格式。这里的格式化字符串是 `"%d-%d"`,表示输入的格式是以 `-` 分隔的两个整数。
接着,程序使用了 `if` 语句来判断当前月份的天数。对于二月份,需要使用嵌套的 `if` 语句来判断是否为闰年。具体的实现方式是:
```c
if (month == 2) {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
days = 29;
} else {
days = 28;
}
} else {
if (month == 4 || month == 6 || month == 9 || month == 11) {
days = 30;
} else {
days = 31;
}
}
```
最后,程序使用了 `printf` 函数将结果输出到屏幕上。具体的实现方式是:
```c
printf("%d年%d月有%d天\n", year, month, days);
```
这里的格式化字符串是 `"%d年%d月有%d天\n"`,用于将三个整数输出到屏幕上。