.....敢问兄台也是山东交通学子?
恩人呐/55555,敢问如何解决
追答/*
**程序描述:万年历算星期几,只要随便说出公元几几年几月几日就可以马上算出是星期几。
*/
#include <stdio.h>
//闰年计算
int leap_year(int year)
{
if(year%400==0||(year%4==0 && year%100!=0))
return 1;
else
return 0;
}
int what_is_weekday(int year, int month, int day)
{
int yearCode,monthCode,dayCode;
int a[12]={1,4,4,7,2,5,7,3,6,1,4,6};
int quotient; //商
int remainder; //余数
int i,result,sum;
//年份代码计算
if(year == 2000)
yearCode=4;
else if(year > 2000)
{
quotient=(year-2000)/4;
remainder=(year-2000)%4;
yearCode=4-2*quotient+remainder+leap_year(year);
}
else
{
quotient=(2000-year)/4;
remainder=(2000-year)%4;
yearCode=4+2*quotient-remainder+leap_year(year);
}
//月份代码计算
for(i=0;i<12;i++)
{
if(month == i+1)
{
monthCode=a[i];
}
}
//日的代码计算
dayCode=day;
//计算出是星期几
sum=yearCode+monthCode+dayCode;
result=sum%7;
return result;
}
int main()
{
int year,month,day;
printf("输入年,月,日: ");
scanf("%d%d%d",&year,&month,&day);
printf("公元%d年%d月%d日是: 星期%d\n",year,month,day,what_is_weekday(year,month,day));
return 0;
}
请问这是咋整的,是算法的问题吗?