c++程序 某年某月某日是星期几(必须用C++语言编写)

如题所述

#include <iostream>
#include<cmath>
using namespace std;
char str[7][10]={"星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
int year,month,day;
int IsLeapYear()
{
if((year%4==0&&year%100!=0)||(year%400==0))
return 1;
else
return 0;
}

int month_day(int m)
{
int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31};
if(IsLeapYear()&&m==2)
return 29;
else
return(mon_day[m-1]);
}

void DaySearch()
{
int c=0;
float s;
int m;
for(m=1;m<month;m++)
c=c+month_day(m);
c=c+day;
s=year-1+(float)(year-1)/4+(float)(year-1)/100+(float)(year-1)/400-40+c;
cout<<year<<"年"<<month<<"月"<<day<<"日是"<<str[(int)s%7]<<endl;
}

int main()
{
cout<<"输入年:";
cin>>year;
cout<<endl;
cout<<"输入月:";
cin>>month;
cout<<endl;
cout<<"输入日:";
cin>>day;
cout<<endl;
DaySearch();
system("pause");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-27
吉姆拉尔森计算公式。。。。就是把当年的1,2月看作是前一年的13,14月、。。。很快的计算方法、、你可以去看一看,程序还是你自己写吧。。。
相似回答