⑴ 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(intargc,charconst*argv[])
{
intdata;
scanf("%d",&data);
printf("星期%d ",(data+1)%7+1);
return0;
}
⑶ C语言 首字母 判断 星期几
一、在第二到最后一个if前都加上else!
二、在每个scanf("%c",&c2);前加一个fflush(stdin); 这与你的操作方法有关系,如果输入一个字符就按一次回车,则需要加,如果对于判断两个字母的,是连续输入的,则可以不加。看你的代码,你选用的应该是第一种情况,所以,要加上去掉缓存中的回车才可以!
⑷ c语言怎么计算某年的第一天是星期几
以1900年1月1日开头,用你想计算的年份去减去1900,然后算出月份累加,累加时要减去一个月,然后加上1,这样就得到了1900年1月1日距离你输入的月份有多少天,然后用这个累加后的天数除以7取余数,如果余数是0,表示是星期天,如果是1-6,则表示星期一到星期六
⑸ C语言 给日期算星期几
补充一个错误,下面回答同理
case3:if(d>32){b=1printf("dayiserror. ")};break;
case4:if(d>31){b=1printf("dayiserror. ")};break;
case5:if(d>32){b=1printf("dayiserror. ")};break;
case6:if(d>31){b=1printf("dayiserror. ")};break;
case7:if(d>32){b=1printf("dayiserror. ")};break;
case8:if(d>32){b=1printf("dayiserror. ")};break;
case9:if(d>31){b=1printf("dayiserror. ")};break;
case10:if(d>32){b=1printf("dayiserror. ")};break;
case11:if(d>31){b=1printf("dayiserror. ")};break;
case12:if(d>32){b=1printf("dayiserror. ")};break;
这一段代码if后面的条件全部大了1,限制值应该是31和30,除非你改成>=
⑹ 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语言知道日期 算星期几
这个是用于计算是周几的公式
参见下链第一个公式
http://hi..com/greation/item/4e9615dedba8c94fdcf9be51
不过这个代码写的有点问题,应该是取整的
我个人比较喜欢用蔡勒公式或基姆拉尔森公式
⑻ c语言 switch函数 星期几后面多少天是星期几
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=(a+b)%7;//求模,这个比较方便
switch(c)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 0:
printf("星期天\n");
break;
}
return 0;
}
⑼ 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语言程序对所输入的日期知道它的星期几数
1. 接受日期输入
2. 使用mktime和成tm结构
3. 使用localtime再转换成tm
4. 取出tm中的tm_wday
#include <time.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
int year, mon, day;
time_t t;
struct tm tmval;
static char* weekdays[7]={"Sunday", "Monday", "Tuesday", "Wednsday", "Thursday", "Friday", "Saturday"};
puts("Please input a date(yyyy-mm-dd):");
scanf("%d-%d-%d", &year, &mon, &day);
printf("year=%d, mon=%d, day=%d\n", year, mon, day);
time(&t);
tmval = *localtime(&t); /* for tm_isdst field */
tmval.tm_year = year-1900;
tmval.tm_mon = mon-1;
tmval.tm_mday = day;
tmval.tm_hour = 0;
tmval.tm_min =0;
tmval.tm_sec = 1;
t = mktime(&tmval);
if( t == -1){
puts("Invalid time value!");
return -1;
}
tmval = *localtime(&t);
printf("%d-%d-%d is %s\n", tmval.tm_year + 1900, tmval.tm_mon+1, tmval.tm_mday, weekdays[tmval.tm_wday]);
return 0;
}