|
#include<stdio.h>
/*********************************************/
/* 计算2000~2099年任一天星期几 */
/* year : 00-99 */
/* month: 01-12 */
/* day : 01-31 */
/*********************************************/
unsigned char GetWeekFromDay(unsigned char year,unsigned char month,unsigned char day)
{
if( month == 1 || month == 2 )
{
month += 12;
if( year> 0 )
year--;
else
year = 4;
}
// 返回星期几(星期一用1表示,而星期天用7表示)
return 1+(( day + 2*month + 3*(month+1)/5 + year + year/4 ) %7);
}
int main(void)
{
printf("Input Year month day :);
unsigned char num_week,num_year,num_month,num_day;
scanf("%d%d%d",&num_year,&num_month,&num_day);
num_week = GetWeekFromDay(num_year,num_month,num_day);
printf("%d\n",&num_week);
return 0;
}
在Linux下gcc编译输出的不是我要的答案啊,
声明计算星期的函数没有问题的。。
难道是gcc 不支持unsigned char,,
我输出的结果是
(原文件名:week.jpg)
最后一个数字应该是0~6才对的啊,表示星期日到星期六
望高手,解释下, |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|