c语言今天是星期几
1. c语言:输入任意年月日,求该天是星期几
注意:本源码中,函数GetWeekDay的返回值仅仅表示输入参数是否“正确/有效”(例如前三个参数使用2001,2,29就是无效参数),能否得到预期的星期值;真正的星期值则是通过输出变量返回给主调函数的。
#include
<time.h>
#include
<stdio.h>
int
GetWeekDay(int
nYear,int
nMon,int
nDay,
int
*npWeekDay);
int
main()
{
int
nMyWeekDay;
int
nResult;
nResult
=
GetWeekDay(2007,1,10,&nMyWeekDay);
return
0;
}
//输入日期,返回星期的C语言函数
int
GetWeekDay(int
nYear,int
nMon,int
nDay,
int
*npWeekDay)
{
int
nRetVal
=
0;
time_t
tMyDateTime;
struct
tm
tmMyDate,*tmpMyDate;
if((nYear<1900||nYear>=3000)
||
(nMon<1
||
nMon>12)
||
(nDay<1||nDay>31)
)
{
nRetVal
=
1;
*npWeekDay
=
-1;
return
nRetVal;
}
//memset(tmMyDate,0,sizeof(struct
tm));
tmMyDate.tm_year
=
nYear-1900;
tmMyDate.tm_mon
=
nMon-1;
tmMyDate.tm_mday
=
nDay;
tmMyDate.tm_hour
=16;
tmMyDate.tm_min
=30;
tmMyDate.tm_sec
=30;
tMyDateTime
=
mktime(&tmMyDate);
if(tMyDateTime<0)
{
nRetVal
=
1;
*npWeekDay
=
-1;
return
nRetVal;
}
tmpMyDate
=
localtime(&tMyDateTime);
*npWeekDay
=
tmpMyDate->tm_wday;
return
nRetVal;
}
2. C语言 星期几
#include<stdio.h>
int main()
{
int n,m;
char a[8][20]={"www","星期一","星期二","星期三","星期四","星期五","星期六","星期日",};
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++)//从星期n开始过m天;也就是循环m次;
{//n在[1,7]之间不停的循环;
if(n!=7)//不等于星期日,星期数加一;
n++;
if(n==7)//直到星期数等于星期日
{
n=1;//将星期数又重置为星期一;
}
}
for(int i=0;i<=7;i++)
{
if(n==i)
printf("%s",a[i]);
}
return 0;
}
希望能帮到你,望采纳
3. C语言 今天之前的第n天是星期几
思路:
1、利用time.h头文件下的time函数获取从1970年至今的秒数。
2、通过获取到的秒数-N天的秒数(N*24*60*60),得到的就是n天前的日期对应秒数。
3、利用localtime函数将秒数转换成日期结构体struct tm。这个结构体里包含了年月日时分秒星期等等信息。
4、直接用asctime函数将struct tm结构信息转成成可定字符串打印输出(显示星期几、年月日、时分秒)。
当然你也可以直接通过struct tm结构体指针获取其星期的成员值输出(成员int tm_wday; 表示星期 – 取值[0,6],0:星期天,1:星期一,以此类推 )。
演示代码如下:
#include <stdio.h>
#include<time.h>
int main()
{
int n,w;
struct tm *tDate;
time_t tt;
time(&tt);
printf("请输入(天数)n的值:"),scanf("%d",&n);
tt-=n*24*60*60;
tDate=localtime(&tt);
printf("%d天前的日期: ",n);
printf("1、通过函数asctme转换字符串打印:%s ",asctime(tDate));
w=tDate->tm_wday;
printf("2、通过结构成员获取,%d天前是星期",n);
switch(w)
{
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;
}
return 0;
}
4. 用c语言输入日期输出星期几
#include<stdio.h>
intmain(intargc,charconst*argv[])
{
intdata;
scanf("%d",&data);
printf("星期%d ",(data+1)%7+1);
return0;
}
5. C语言程序,输入年月日算出当天星期几
似乎是有时间函数,看看说明
其实弄个语言,主要的是使用中间的函数、工具、各种包,
语言本身比较简单,相对的,而那是不够的,
那些函数,也不都是语言本身写的,
6. C语言:输入今天是星期几(英文),输出今天的计划(如Monday-A计划,Tuesday-B计划,依此类推)
要用C语言实现这样的功能,只要预先把这些的七个表示星期的单词保存在一个二维的字符数组中,作为七个字符串来存储,然后程序开始的时候读入一个字符串,利用字符串比较函数比较它与哪一个数组元素相同?记录下它的下标,星期一就是编号为0,照此类推,然后就可以输出这个单词,再一个连字号,再加上相应的一个字母,还有"计划"两个字。
7. C语言计算今天是星期几 如下图………求大神
#include<stdio.h>
intdysforcompeleteyears(intstartyear,intendyear){
intsum=0;
for(inti=startyear;i<endyear;i++)
if(i%400==0||i%4==0&&i%100!=0)
sum+=366;
else
sum+=365;
returnsum;
}
intdaysforcurrentyear(intyear,intmonth,intday){
intss[13]={31,28,31,30,31,30,31,31,30,31,30,31};
for(inti=0;i<month-1;i++)
day+=ss[i];
if((year%400==0||(year%4==0&&year%100!=0))&&month>2)
day++;
returnday;
}
intmain(){
intyear,month,day;
scanf("%d-%d-%d",&year,&month,&day);
intsum=0;
sum+=dysforcompeleteyears(1900,year);
sum+=daysforcurrentyear(year,month,day);
sum%=7;
if(sum==0)
printf("星期日 ");
else
printf("星期%d ",sum);
return0;
}
8. 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;
}