|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
设计函数int getDays(int year,int month),根据给定的年year和月份month,计算该月的天数并返回。 提示:注意闰年的判断。
输入与输出要求: 输入两个整数y,m,即年份与月份。输出该年内该月的天数,占一行。 测试用例保证输入合法。
请帮忙看看那里出错了?谢谢。
#include<stdio.h>
int getDays(int year,int month) ;
int main()
{
int year, month ;
scanf("%d%d",&year,&month);
printf("There are %d days in month %d year %d.\n",getDays(year,month), month, year) ;
return 0 ;
}
int getDays(int year,int month)
{
switch(month)
{
case 1:printf("31\n");break;
case 2:printf("30\n");break;
case 3:printf("29\n");break;
case 4:printf("28\n");break;
if((month=1)||(month=3)||(month=5)||(month=7)||(month=8)||(month=10)||(month=12))
return 1;
if((month=4)||(month=6)||(month=9)||(month=11))
return 2;
{
if((year%4==0)&&(year%100!=0)||(year%400==0))
return 3;
else
return 4;
}
}
}
本帖最后由 jackz007 于 2020-11-13 21:19 编辑
- #include <stdio.h>
- int getDays(int year,int month)
- {
- int days ;
- days = 30 ;
- switch(month) {
- case 1:
- case 3:
- case 5:
- case 7:
- case 8:
- case 10:
- case 12: days ++ ;
- break ;
- case 2: days -= 2 ;
- if(!(year % 4) && (year % 100) || ! (year & 400)) days ++ ;
- break ;
- } ;
- return days ;
- }
- main(void)
- {
- int y , m ;
- scanf("%d%d" , & y , & m) ;
- printf("%d\n" , getDays(y , m)) ;
- }
复制代码
简化版
- #include <stdio.h>
- int getDays(int year ,int month)
- {
- int md[] = {31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31} , days ;
- days = md[month - 1] ;
- if(month == 2 && (! (year % 4) && year % 100 || ! ( year % 400))) days ++ ;
- return days ;
- }
- main(void)
- {
- int y , m ;
- scanf("%d%d" , & y , & m) ;
- printf("%d\n" , getDays(y , m)) ;
- }
复制代码
|
|