❶ c语言程序,输入年月日算出当天星期几
#include <stdio.h>
int main()
{
int day,mn,yr,i,days=0,s,k;
int mont[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
char wek[][9]={ {'S','u','n','d','a','y'},
{'M','o','n','d','a','y'},
{'T','u','e','s','d','a','y'},
{'W','e','d','n','s','d','a','y'},
{'T','h','u','r','s','d','a','y'},
{'F','r','i','d','a','y'},
{'S','a','t','u','r','d','a','y'}
};
printf("Inpute the date (year-month-day):");
scanf("%d-%d-%d",&yr,&mn,&day);
if (yr%4==0||yr%100==0||yr%400==0)
mont[2]=29;
else
mont[2]=28;
for (i=0;i<mn;i++)
days+=mont[i];
days+=day;
s=yr-1+(int)((yr-1)/4)-(int)((yr-1)/100)+(int)((yr-1)/400)+days;
k=s%7;
printf("%d-%d-%d is %s.",yr,mn,day,wek[k]);
return 0;
}
❷ C语言程序,输入年月日算出当天星期几
先做一个函数,计算1900年1月1日到该天的天数,然后用膜除求出星期几并输出。
具体代码如下:
#include<stdio.h>
#include<stdlib.h>
intDay(inty,intm,intd);
intmain(intargc,char*argv[]){
inti;//循环变量
intyear,month,day;//读取用户输入的年月日
intdays;//储存从1900-1-1到该天的天数
intweek=0;//储存求余后的星期
//字符串组合输出星期
charb[]={"星期"};
charc[7][4]={"日","一","二","三","四","五","六"};
loop:printf("请输入年月日:(空格分隔) ");
scanf("%d%d%d",&year,&month,&day);
days=Day(year,month,day);
//增强程序的健壮性
if(days==-1)
{
printf("输入格式有误,");
fflush(stdin);//防止用户输入字母等其他非数字字符
gotoloop;
}
else
{
week=days%7;//用求余计算星期几
printf("%d年%d月%d日是%s%s ",year,month,day,b,c[week]);
}
system("pause");
return0;
}
//函数功能:输入年月日,输出1900-1-1到该天的天数,-1位输入不合法
intDay(inty,intm,intd)
{
inti;
intr=0;//储存1900到该天的闰年个数
inta[]={31,28,31,30,31,30,31,31,30,31,30};//m给每出月的天数
if(y>=1900&&m>0&&m<13&&d>0&&d<32)
{
for(i=1900;i<=y;i++)//计算闰年的个数
{
if(i%400==0||i%100!=0&&i%4==0)
r++;
}
for(i=0;i<m-1;i++)//统计当年1月1日到当月的天数
{
d+=a[i];
}
if((y%400==0||y%100!=0&&y%4==0)&&m<3)//如果当年是闰年但不到二月就不能算进去
r--;
return365*(y-1900)+r+d;
}
else
return-1;
}
❸ c语言 判断某天星期几
#include "stdio.h"
#include "conio.h"
main()
{
int day,month,year,sum,leap;
printf("\nplease input year,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month) /*先计算某月以前月份的总天数*/
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");break;
}
sum=sum+day; /*再加上某天的天数*/
if(year%400==0||(year%4==0&&year%100!=0)) /*判断是不是闰年*/
leap=1;
else
leap=0;
if(leap==1&&month>2) /*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("It is the %dth day.",sum);
getch();
}
❹ C语言中知道今天星期几,再判断某日星期几的方法
不用知道今天是星期几.
就能知道某日是星期几
#include <time.h>
#include <stdio.h>
int main(void)
{
struct tm date,*ptm;
time_t t;
memset(&date, 0x0, sizeof(struct tm));
//2009-4-21
date.tm_year = 2009 -1900;
date.tm_mon = 4 - 1;
date.tm_mday = 21;
t = mktime(&date);
ptm = localtime(&t);
printf("Week: [0-6] [Sunday:0]: %d\n", ptm->tm_wday);
return 0;
}
❺ C语言输入今天星期几
#include<stdio.h>
intmain(void)
{
enumweekday{sun,mon,tue,wed,thu,fri,sat};
intn;
printf("输入星期数(0-6):");
scanf("%d",&n);
switch(n)
{
casesun:printf("今天是星期天. ");break;
casemon:printf("今天是星期一. ");break;
casetue:printf("今天是星期二. ");break;
casewed:printf("今天是星期三. ");break;
casethu:printf("今天是星期四. ");break;
casefri:printf("今天是星期五. ");break;
casesat:printf("今天是星期六. ");break;
default:
break;
}
return0;
}
❻ c语言知道日期算星期几
//这定义的是一个二维数组(7行10列)
//每一个字符串,比如:"星期天"就是一行,共七个字符。
//汉字占两个字符,所以"星期天"就是7个字符(末尾应该还有一个'