编写一个函数,以一个日期某年某月某日为参数,返回该日期是星期几(已知公元一年一月一日是星期一),在MAIN()函数输入日期输出星期几。(提示:计算公无一年一月一日到该日期的天数,该天除以七的佘数是零是星期天,佘数为一是生期一,如此类推)
THANK YOU!
晕 发完帖子要记得回看
我在VC++论坛回复你了
#include<iostream>
using namespace std;
char* week(int y,int m,int d)
{
switch(m)
{
case 1:
case 10:m=6;break;
case 2:
case 3:
case 11:m=2;break;
case 9:
case 12:m=4;break;
case 4:
case 7:m=5;break;
case 5:m=7;break;
case 6:m=3;break;
case 8:m=1;break;
default :cout<<"erro!月份只能在1-12之间";break;
}
int sum=y/100%4+y/100%10*5.5+y%10*1.25+m+d;//年月日和星期的计算规律
if (sum>7)
sum%=7;
else sum;
char* w;
switch(sum)
{
case 1:w="星期一";break;
case 2:w="星期二";break;
case 3:w="星期三";break;
case 4:w="星期四";break;
case 5:w="星期五";break;
case 6:w="星期六";break;
case 7:w="星期日";break;
}
return w;
}
void main()
{
int year,month,date;
cout<<"请输入年:";cin>>year;
cout<<"\n请输入月份:"; cin>>month;
cout<<"\n请输入日期:"; cin>>date;
cout<<endl <<year<<"."<<month<<"."<<date<<"是"<<week(year,month,date); //调用函数
cout<<endl;
}