int days(int month,int year)//定义副分支(month为月份)
{
switch(month)
{
case 1:
return 31;//1月返回值为31天
case 2:
if(year%400==0)//能被400整除为闰年
return 29;//闰年2月为29天
else if(year%100!=0&&year%4==0)//不能被100整除但能被4整除的也为闰年
return 29;
else//其它为平年
return 28;//平年是28天
case 3:
return 31;
case 4:
return 30;
case 5:
return 31;
case 6:
return 30;
case 7:
return 31;
case 8:
return 31;
case 9:
return 30;
case 10:
return 31;
case 11:
return 30;
case 12:
return 31;
}
}
int main()
{
int days(int month,int year);
int s,u;//定义输入日期是该年的第s天,且当日是星期u(s,u均为整形数值)
int year,month,week,day;//定义输入的年份year,月份month,天数day和输出的该日期第week周
s=0;
int i;
scanf("%d.%d.%d",&year,&month,&day);
for(i=1;i<=month-1;i++)
{
s+=days(month,year);
}
s+=day;
u=(s%7);//定义u为该年内总天数除以7的余数
switch(u)//选择语句根据余数对应返回值即为星期几
{
case 0:
return 5;
case 1:
return 6;
case 2:
return 7;
case 3:
return 1;
case 4:
return 2;
case 5:
return 3;
case 6:
return 4;
}
week=(s/7)+1;//赋值week为该年内总天数除以7的整形+1
printf("%d.%d.%d",s,week,u);//输出某个日期为这一年的第几天及第几周的星期几
return 0;//函数返回值为0
}
*PS:下方为软件内的截图,方便大佬查看,希望能指正错误。↓↓↓↓↓↓↓↓↓↓↓↓↓
希望大佬们能救救孩子,这是c语言专业课,相信应该难不住在座的各位!!!实在没人问了,老师那边也问过了,说的也有点笼统,没办法,问问题的人太多,老师也忙不过来,听说这里发文可以有所收获,就来碰碰运气,希望能解决问题,谢谢!
求求大家指点指点我吧——大一C语言题:编写一段程序 计算某个日期为这一年的第几天及第几周的星期几。(使用软件Dev-C++)如下是我代码 感觉还挺对 至少编译时没错误没警告 但是运行时出不来结果啊啊啊