1465 c语言实验题 某年某月的天数,C语言实验题——某年某月的天数

#include /*================================================================*/

void GetYearMonth(char *str, int *Year, int *Month)

{

int k=0;

int mon_flag=0;

int year=0,month=0;

while(str[k]!='\0')

{

/****************************************/

if(str[k]>='0'&& str[k]<='9')

{

if(!mon_flag) { year = year*10 + str[k] - '0'; }

else { month = month*10 + str[k] - '0'; }

}

else if(str[k]=='\\' && mon_flag==0)

{

mon_flag = 1;

}

else if(str[k]==' '&&( (k>=1&&str[k-1]!=' ') || (str[k+1]!=' ')))

{

}

else

{

printf("\nInput error !!!\n");

return 0;

}

/****************************************/

k++;

}

if(month<=0||month>=13) /* month error check */

{

*Year = 0;

*Month = 0;

printf("\nInput error !!!\n");

return;

}

*Year = year;

*Month = month;

return;

}

/*================================================================*/

int FindDayOfMonth(int year, int month)

{

int day_of_month = 30;

if(month==1||month==3||month==5||month==7||

month==8||month==10||month==12)

{

day_of_month = 31;

}

else if(month==2)

{

if( (year%400==0)||(year%100!=0&&year%4==0) )

{

day_of_month = 29;

}

else

{

day_of_month = 28;

}

}

return day_of_month;

}

/*================================================================*/

int main()

{

char str[100];

int k;

int year,month,day_of_month;

for(k=0;k<100;k++) { str[k]='\0'; }

printf("Please input the year and month,\nsuch as : 2008\\2 or 2008 \\ 2\n");

gets(str);

GetYearMonth(str, &year, &month);

day_of_month = FindDayOfMonth(year, month);

printf("\nyear = %d, month = %d\nday of month = %d\n",year,month,day_of_month);

getchar();

return 0;

}

/*================================================================*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值