Ubuntu中用C语言写一个程序 :输入一个年份月份,判断该年该月由多少天;(要求封装+传参调用);
时间: 2024-02-28 13:55:31 浏览: 57
好的,根据您的需求,我为您提供一个使用C语言在Ubuntu中编写的程序,可以输入一个年份月份,判断该年该月有多少天。同时,我也将其封装成一个函数,并通过传参调用。
以下是程序代码:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否是闰年
bool isLeapYear(int year) {
return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0);
}
// 计算该年该月的天数
int getDaysOfMonth(int year, int month) {
int days;
if (month == 2) {
days = isLeapYear(year) ? 29 : 28;
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
days = 30;
} else {
days = 31;
}
return days;
}
int main() {
int year, month;
printf("请输入年份和月份(如2022 8):");
scanf("%d %d", &year, &month);
int days = getDaysOfMonth(year, month);
printf("%d年%d月有%d天\n", year, month, days);
return 0;
}
```
这里我们定义了两个函数来实现我们的需求:
1. `isLeapYear`:用于判断是否是闰年,它接收一个年份作为参数,如果是闰年返回true,否则返回false。
2. `getDaysOfMonth`:用于计算该年该月的天数,它接收一个年份和一个月份作为参数,并返回该月的天数。
在主函数中,我们通过`scanf`函数获取用户输入的年份和月份,然后调用`getDaysOfMonth`函数计算该年该月的天数,并输出结果。
希望这个程序能够帮助您解决问题,有任何疑问可以随时提出。
阅读全文