c语言年月日计算天数
时间: 2024-09-12 09:04:04 浏览: 51
C语言可以使用if...else语句或switch语句来计算年月日对应的天数。其中,if...else语句需要判断输入的月份数据是否正确,然后再根据是否为闰年来计算该月的天数。而switch语句则可以根据月份的不同,使用不同的case来计算该月的天数。同时,为了方便计算闰年,可以自定义一个求闰年的函数。
下面是两种不同的C语言计算年月日对应天数的方法:
方法一:使用if...else语句
```
#include"stdio.h"
#include"conio.h"
int main() {
int year, month, days;
printf("请依次输入整数的某年某月:");
scanf("%d%d", &year, &month);
if(month > 12 || month < 1) //判断输入的月份数据是否正确
printf("输入的月份数据错误\n");
else {
if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) //闰年的判断
{
if(month == 2) days = 29;
else if(month == 4 || month == 6 || month == 9 || month == 11) days = 30;
else days = 31;
}
else {
if(month == 2) days = 28;
else if(month == 4 || month == 6 || month == 9 || month == 11) days = 30;
else days = 31;
}
}
printf("该年该月有: %d 天\n", days);
getch();
return 0;
}
```
方法二:使用switch语句
```
#include"stdio.h"
#include"conio.h"
int runnian(int year);//自定义求润年函数
void main() {
int year, month, days;
printf("请依次输入整数的某年某月:");
scanf("%d%d", &year, &month);
if(month > 12 || month < 1)
printf("输入的月份数据错误\n");
else {
int days = 31;
switch(month) {
case 4:
case 6:
case 9:
case 11: {
days = 30;
break;
}
case 2: {
if(runnian(year)) days = 29;
else days = 28;
break;
}
}
printf("该年该月有: %d 天\n", days);
}
getch();
}
int runnian(int year)//自定义求闰年函数
{
if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))//符合闰年的条件
{
return 1;
}
return 0;
}
```
阅读全文