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;
}