c语言编程一个solarMonthDays函数,用于计算公历当月的天数
时间: 2024-01-22 22:21:20 浏览: 29
可以使用以下代码实现:
```c
#include <stdio.h>
int solarMonthDays(int year, int month) {
int days;
if (month == 2) { // 二月份
days = ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ? 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("请输入年份和月份:");
scanf("%d%d", &year, &month);
printf("%d年%d月有%d天。\n", year, month, solarMonthDays(year, month));
return 0;
}
```
这个函数接受两个参数,一个是年份,一个是月份。根据公历月份的规律,我们可以判断出该月份的天数,然后返回该天数。在主函数中,我们可以通过输入年份和月份来调用该函数并输出结果。
相关问题
C语言编写一个自定义函数计算n
以下是使用C语言编写的计算n!的函数:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
}
else {
return n * factorial(n-1);
}
}
int main() {
int n;
printf("请输入一个整数n:");
scanf("%d", &n);
printf("%d! = %d", n, factorial(n));
return 0;
}
```
这个函数与上面的Python函数实现类似,使用了递归来计算n!。如果n为0,则返回1,否则返回n乘以(n-1)!,即调用自身函数计算(n-1)!。在main函数中,我们使用scanf函数从用户输入中获取整数n,并输出n的阶乘的结果。
c语言编程计算分段函数
以下是一个C语言编程计算分段函数的例子:
```c
#include <stdio.h>
int main() {
float x, y;
scanf("%f", &x);
if (x >= 0) {
if (x > 0) {
y = x * x * x + 1;
} else {
y = 1.0;
}
} else {
y = 2 * x + 1;
}
printf("%.2f\n", y);
return 0;
}
```
该程序根据输入的实数x,计算对应的函数值y,并根据不同的x值采用不同的计算公式。如果x大于等于0,则分为两种情况:如果x大于0,则计算y=x³+1;如果x等于0,则计算y=1。如果x小于0,则计算y=2x+1。最后,程序使用"%.2f\n"控制输出格式,输出计算结果。