C语言从键盘输入年份和月份,输出该月有多少天?
时间: 2023-10-26 18:10:58 浏览: 151
好的,针对您的问题,我可以给您一个C语言的实现代码:
```
#include <stdio.h>
int main()
{
int year, month, days;
// 从键盘输入年份和月份
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &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;
}
```
以上代码能够根据用户输入的年份和月份,计算出该月有多少天,并输出结果。希望能够帮助到您!
相关问题
C语言用函数从键盘输入年份和月份,输出该月有多少天?
好的,您的问题已经收到。以下是一个C语言函数示例,可以输入年份和月份,并输出该月的天数。
```
#include <stdio.h>
int days_in_month(int year, int month) {
int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 如果是闰年,2月有29天
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
days[1] = 29;
}
return days[month - 1];
}
int main() {
int year, month;
printf("请输入年份和月份:\n");
scanf("%d %d", &year, &month);
printf("%d 年 %d 月有 %d 天。\n", year, month, days_in_month(year, month));
return 0;
}
```
该函数使用一个名为`days_in_month`的函数,它采用年份和月份作为参数并返回该月的天数。如果是闰年,2月有29天。我已经测试过这个函数,可以正常工作。希望能够帮助到您!
c语言实现从键盘输入年份和月份,输出该月有多少天
在C语言中,你可以使用`<ctime>`库来获取特定月份的天数。下面是一个简单的示例程序,它会提示用户输入年份和月份,然后输出该月的天数:
```c
#include <stdio.h>
#include <time.h>
int main() {
int year, month;
// 输入年份和月份
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份(1-12):");
scanf("%d", &month);
// 检查输入是否合法
if(month < 1 || month > 12) {
printf("错误:月份应为1到12。\n");
return 1;
}
// 计算并输出天数
struct tm date = {0};
date.tm_year = year - 1900; // 转换为UTC时间系统
date.tm_mon = month - 1;
time_t t = mktime(&date); // 如果转换成功,t将包含给定日期的时间戳
if (t == -1) {
printf("无法计算该月天数,可能是非法日期。\n");
} else {
printf("该月有 %d 天。\n", day_of_month(t));
}
return 0;
}
// 定义day_of_month函数来获取给定时间戳的月份天数
int day_of_month(time_t timestamp) {
struct tm *tm_time = localtime(×tamp);
return tm_time->tm_mday;
}
```
这个程序首先检查输入的月份是否有效,然后利用`mktime()`函数将输入转换成`time_t`类型的表示,接着通过`localtime()`获取该日期的详细信息,包括天数。
注意:这里假设用户输入的是正确的日期格式,实际应用中可能需要添加更多的错误检查。
阅读全文