當前位置:首頁 » 編程語言 » c語言假如知道今天星期幾
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言假如知道今天星期幾

發布時間: 2022-04-22 02:20:36

c語言程序,輸入年月日算出當天星期幾

似乎是有時間函數,看看說明
其實弄個語言,主要的是使用中間的函數、工具、各種包,
語言本身比較簡單,相對的,而那是不夠的,
那些函數,也不都是語言本身寫的,

⑵ 怎樣用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;
}

⑶ c語言知道日期算星期幾

//這定義的是一個二維數組(7行10列)
//每一個字元串,比如:"星期天"就是一行,共七個字元。
//漢字占兩個字元,所以"星期天"就是7個字元(末尾應該還有一個''結束符)。
//這里的10確實是隨便定義的數,但是要保證大於等於7
charstr[7][10]={"星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
intyear,month,day;

//這是定義一個子函數,IsLeapYear也是隨便取的,
//但是要符合C語言的命名規范,並且最好有實際意義
intIsLeapYear()
{
if((year%4==0&&year%100!=0)||(year%400==0))
return1;
else
return0;
}

//這和上面一樣,定義子函數,名字是隨便取的,
//下劃線也是符合c語言命名規范的,所以可用
//intm是一個參數,用來保存主函數傳遞過來的值
intmonth_day(intm)
{
//這是數組初始化的一種格式,由於有初始值列表,
//系統會自動根據初始化數據確定數組大小
//比如這里相當於intmon_day[12]
intmon_day[]={31,28,31,30,31,30,31,31,30,31,30,31};

這些都是基礎,還是看看書吧

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

}

⑸ 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>

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;

}

希望能幫到你,望採納

⑺ 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<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語言輸入日期輸出星期幾

#include<stdio.h>

intmain(intargc,charconst*argv[])
{
intdata;
scanf("%d",&data);
printf("星期%d ",(data+1)%7+1);
return0;
}