发布网友
共2个回答
热心网友
先做一个函数,计算1900年1月1日到该天的天数,然后用膜除求出星期几并输出。
具体代码如下:
#include <stdio.h>
热心网友
#include "stdio.h"
void CaculateWeekDay(int y,int m, int d)
{
if(m==1||m==2) {
m+=12;
y--;
}
int iWeek=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
switch(iWeek)
{
case 0: printf("星期一 "); break;
case 1: printf("星期二 "); break;
case 2: printf("星期三 "); break;
case 3: printf("星期四 "); break;
case 4: printf("星期五 "); break;
case 5: printf("星期六 "); break;
case 6: printf("星期日 "); break;
}
}
void main()
{
int year=0,month=0,day=0;
printf("请输入日期: 格式为:1900,1,1 ");
char temp = \'1\';
while (temp != \'0\')
{
scanf("%d,%d,%d",&year,&month,&day);
scanf("%c",&temp);
CaculateWeekDay(year,month,day);
printf("输入0退出,其他继续:");
scanf("%c",&temp);
}
}
望采纳