當前位置:首頁 » 編程語言 » c語言計算國慶放假的起止日期
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言計算國慶放假的起止日期

發布時間: 2022-05-03 08:56:44

A. 國慶節放假的問題

國務院辦公廳2011年節假日安排通知中規定:2011年國慶節放假安排:2011年10月1日(周六)、2日(周日)、3日(周一)、4日(周二)、5日(周三)、6日(周四)、7日(周五)放假七天,8日(周六)上班。
國慶假期是3天,加上1日(周六)、2日(周日)休息日是用4日、5日的上班時間補,6日(周四)、7日(周五)的上班日用8日、9日的休息時間補。
你說的是放假三天,再把後面的4天調成8號後上班是不合理的。4日後還有4天應是上班日,8-9日只有兩日,是補不了的。

B. 校歷 c語言代碼

二、 課程設計的主要內容
根據輸入的開學和放假日期,為每學期生成相應的校歷,並提供各學期的校歷查詢顯示功能。
(1)輸入數據
學年度: 2007-2008
學期: 2
開學日期: 2008-02-18
放假日期: 2008-07-05

(2)輸出數據
2007--2008 學年度 第 2 學期
--------------------------------------------------------------------------------------------------
月份 周次 一 二 三 四 五 六 日
--------------------------------------------------------------------------------------------------
二月 一 上課 19 20 21 22 23 24
--------------------------------------------------------------------------------------------------
二月 二 25 26 27 28 29 1 2
--------------------------------------------------------------------------------------------------
三月 三 3 4 5 6 7 8 9
--------------------------------------------------------------------------------------------------
三月 四 10 11 12 13 14 15 16
--------------------------------------------------------------------------------------------------
三月 五 17 18 19 20 21 22 23
--------------------------------------------------------------------------------------------------
三月 六 24 25 26 27 28 29 30
--------------------------------------------------------------------------------------------------
四月 七 31 1 2 3 4 5 6
--------------------------------------------------------------------------------------------------
四月 八 7 8 9 10 11 12 13
--------------------------------------------------------------------------------------------------
四月 九 14 15 16 17 18 19 20
--------------------------------------------------------------------------------------------------
四月 十 21 22 23 24 25 26 27
--------------------------------------------------------------------------------------------------
五月 十一 28 29 30 五一 2 3 4
--------------------------------------------------------------------------------------------------
五月 十二 5 6 7 8 9 10 11
--------------------------------------------------------------------------------------------------
五月 十三 12 13 14 15 16 17 18
--------------------------------------------------------------------------------------------------
五月 十四 19 20 21 22 23 24 25
--------------------------------------------------------------------------------------------------
五月 十五 26 27 28 29 30 31 1
--------------------------------------------------------------------------------------------------
六月 十六 2 3 4 5 6 7 8
--------------------------------------------------------------------------------------------------
六月 十七 9 10 11 12 13 14 15
--------------------------------------------------------------------------------------------------
六月 十八 16 17 18 19 20 21 22
--------------------------------------------------------------------------------------------------
六月 十九 復考 24 25 26 27 28 29
--------------------------------------------------------------------------------------------------
七月 二十 30 1 2 3 4 暑假
--------------------------------------------------------------------------------------------------

要求:
(1)界面布局美觀
(2)節假日的計算和輸出
(3)閏年計算
(4)年月日與周日的對應計算
(5)年月日與周次的對應計算
(6)周次與月份的對應計算
(7)校歷按文件保存
提示:
(1) 使用字元串、數組、文件
(2) 內存數據處理與界面輸出分離

——————————題目應該是這個————

C. 跪求萬年歷C程序要有法定節假日(4個)

下個萬能五筆,裡面有代萬年歷的。

D. 國慶節法定假日幾天

(一)新年,放假1天(1月1日); (二)春節,放假3天(農歷除夕、正月初一、初二); (三)清明節,放假1天(農歷清明當日); (四)勞動節,放假1天(5月1日); (五)端午節,放假1天(農歷端午當日); (六)中秋節,放假1天(農歷中秋當日); (七)國慶節,放假3天(10月1日、2日、3日)。

E. 用C語言 建立一個2013年國務院規定放假的安排表,要求按照時間順序排列,每個節假日信息包括:

2013年節假日放假安排時間表

春節假期2月9日至15日

一、元旦:

1月1日至3日放假調休,共3天。1月5日(星期六)、1月6日(星期日)上班。

二、春節:

2月9日(星期六)2月10日(星期日)正常休假、2月11日至15日放假共5天。2月16日(星期六)、2月17日(星期日)正常休假、2月18日上班。

三、清明節:

4月4日至6日放假調休,共3天。4月7日(星期日)上班。

四、勞動節:

4月29日至5月1日放假,共3天。4月27日(星期六)、4月28日(星期日)、5月4日(星期六)青年節、5月5日(星期日)正常休假、5月2日(星期四)、5月3日(星期五)上班。

五、端午節:

6月10日至12日放假調休,共3天。6月8日(星期六)、6月9日(星期日)上班。

六、中秋節:

9月19日至21日放假調休,共3天。9月22日(星期日)上班。

七、國慶節:

10月1日至7日放假調休,共7天。10月12日(星期六)、10月13日(星期日)正常休假。

F. C語言編程(程序怎樣編寫):給定年、月、日,計算該日是該年的第幾天,然後計算該日是星期幾。

/**
程序描述:給定年、月、日,計算該日是該年的第幾天,然後計算該日是星期幾。
*/
#include<stdio.h>

intmon[]={31,28,31,30,31,30,31,31,30,31,30,31};

intleap_year(intn)
{
if(n%400==0||(n%4==0&&n%100!=0))
return1;
else
return0;
}
intcal_dayCount(intyear,intmonth,intday)
{
inti,sum;
for(i=0,sum=0;i<month-1;i++)
sum+=mon[i];
if(month>2)
sum+=day+leap_year(year);
else
sum+=day;
returnsum;
}
intcal_weekday(intyear,intmonth,intday)
{
/**
蔡勒(Zeller)公式
歷史上的某一天是星期幾?未來的某一天是星期幾?關於這個問題,有很多計算公式(兩個通用計算公式和
一些分段計算公式),其中最著名的是蔡勒(Zeller)公式。
即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1

公式中的符號含義如下,
w:星期;
c:年的高兩位,即世紀-1
y:年的低兩位;
m:月(m大於等於3,小於等於14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月來計算,
比如2003年1月1日要看作2002年的13月1日來計算);
d:日;
[]代表取整,即只要整數部分。

算出來的W除以7,余數是幾就是星期幾。如果余數是0,則為星期日。
如果結果是負數,負數求余數則需要特殊處理:
負數不能按習慣的余數的概念求余數,只能按數論中的余數的定義求余。為了方便
計算,我們可以給它加上一個7的整數倍,使它變為一個正數,然後再求余數

以2049年10月1日(100周年國慶)為例,用蔡勒(Zeller)公式進行計算,過程如下:
蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
=49+[49/4]+[20/4]-2×20+[26×(10+1)/10]+1-1
=49+[12.25]+5-40+[28.6]
=49+12+5-40+28
=54(除以7餘5)
即2049年10月1日(100周年國慶)是星期5。
*/
inty,c,m,d;
intw;

if(month>=3)
{
m=month;
y=year%100;
c=year/100;
d=day;
}
else/*某年的1、2月要看作上一年的13、14月來計算*/
{
m=month+12;
y=(year-1)%100;
c=(year-1)/100;
d=day;
}
w=y+y/4+c/4-2*c+(26*(m+1))/10+d-1;

if(w<0)/*如果w是負數,則計算余數方式不同*/
{
w=7-(-w)%7;
}
else
{
w=w%7;//如果w等於0,表示為星期天
}
returnw;
}
intmain()
{
intyear,month,day;
intdayCount=0,i;
printf("請輸入當前的年,月,日:");
scanf("%d-%d-%d",&year,&month,&day);
printf("該日是該年的第幾天:%d ",cal_dayCount(year,month,day));
printf("該日是星期幾:%d ",cal_weekday(year,month,day));
return0;
}

示例運行結果:

G. C語言 星期演算法叫什麼名字

如果要從年月日算星期幾:(蔡樂公式)
公元元年1月1日是星期幾?農歷幾月初幾?2006年09月27日 星期三 21:36是星期一 農歷十二月初一(農歷和公歷19年重復一次 所以查詢19年的倍數 也就是1995年的1月1日就可以了解公元1年的農歷日期:PS不一定準確)

最常見的公式:

W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D

Y是年份數,D是這一天在這一年中的累積天數,也就是這一天在這一年中是第幾天。

最好用的是蔡勒公式:

W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1

C是世紀數減一,y是年份後兩位,M是月份,d是日數。1月和2月要按上一年的13月和
14月來算,這時C和y均按上一年取值。

兩個公式中的[...]均指只取計算結果的整數部分。算出來的W除以7,余數是幾就
是星期幾。如果余數是0,則為星期日。
---------------------------------------------------------------------------

蔡勒公式 蔡勒(Zeller)公式:是一個計算星期的公式。
隨便給一個日期,就能用這個公式推算出是星期幾。
蔡勒公式如下:
W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1
或者是:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
公式中的符號含義如下:
w:星期; w對7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六
c:世紀-1(前兩位數)
y:年(後兩位數)
m:月(m大於等於3,小於等於14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月來計算,比如2003年1月1日要看作2002年的13月1日來計算)
d:日
[ ]代表取整,即只要整數部分。
下面以中華人民共和國成立100周年紀念日那天(2049年10月1日)來計算是星期幾,過程如下:
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
=49+[49/4]+[20/4]-2×20+[26×(10+1)/10]+1-1
=49+[12.25]+5-40+[28.6]
=49+12+5-40+28
=54 (除以7餘5)
即2049年10月1日(100周年國慶)是星期五。
再比如計算2006年4月4日,過程如下:
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
=6+[6/4]+[20/4]-2*20+[26*(4+1)/10]+4-1
=-12 (除以7餘2, ((((((注意對負數的取模運算!)))))
不過,以上的公式都只適合於1582年(我國明朝萬曆十年)10月15日之後的情形。羅馬教皇格里高利十三世在1582年組織了一批天文學家,根據哥白尼日心說計算出來的數據,對儒略歷作了修改。將1582年10月5日到14日之間的10天宣布撤銷,繼10月4日之後為10月15日。
後來人們將這一新的歷法稱為「格里高利歷」,也就是今天世界上所通用的歷法,簡稱格里歷或公歷。
若要計算的日期是在1582年10月4日或之前,公式則為
w=y+[y/4]+[c/4]-2c+[13(m+1)/5]+d+3
1582.10.4之後的計算代碼如下:
#include <iostream>
using namespace std;
int year,month,day;
cin >> year >> month >> day;
if ( month < 3 ) {
year -= 1;
month += 12;
}
char b[7][10] = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
int c = int(year / 100), y = year - 100 * c;
int w = int(c / 4) - 2*c +y +int(y/4) +(26 * (month + 1)/10 ) + day - 1;
注意w = ( w % 7 + 7 ) % 7;
cout << b[w] << endl;

H. C語言程序設計:用戶輸入年月,程序按周日~周六順序輸出月歷,在日期數字下方一行增加公歷節假日的名稱。

#include"stdio.h"
#include"string.h"
/*蔡勒公式計算星期
W=[C/4]-2C+y+[y/4]+[13*(M+1)/5]+d-1
C是世紀數減一,
y是年份後兩位,
M是月份,
d是日數。
1月和2月要按上一年的13月和14月來算,這時C和y均按上一年取值。
*/
intmonth_days[]={-1,31,28,31,30,31,30,31,31,30,31,30,31};
char*festivals[13]={//其他的可以自己加上
"",
"1月1日元旦",//1月的節日
"2月14日情人節",//2月的節日
"",//3月的節日
"",//4月的節日
"5月1日勞動節",//5月的節日
"",//6月的節日
"",//7月的節日
"",//8月的節日
"",//9月的節日
"10月1日國慶節",//10月的節日
"",//11月的節日
"12月25日聖誕節"//12月的節日
};
char*weeks[]={"日","一","二","三","四","五","六"};
intmain()
{
intw;//星期幾,0為星期日
inty;//年份
intm;//月份
intmt;//記錄月份是多少
intc;//世紀
boolb=true;//是否為閏年

printf("請輸入年份和月份:");
scanf("%d%d",&y,&m);
mt=m;
if((y%4==0&&y%100!=0)||y%400==0)
b=true;
if(m<3)
{
m=m+12;
y--;
}
c=y/100;
y=y%100;
w=(c/4-2*c+y+y/4+13*(m+1)/5+1-1)%7;//計算本月的1號是星期幾
if(w<0)w+=7;

inti=0;
for(i;i<7;i++)//輸出一、二...六
printf("%s ",weeks[i]);
printf(" ");
for(i=0;i<w;i++)//准備從星期幾開始顯示1、2、3....31
printf(" ");

intn=month_days[mt];//本月的天數
if(b&&mt==2)n++;//閏年2月加1天
for(i=1;i<=n;i++)//輸出日期
{
printf("%d ",i);
if((i+w)%7==0)
printf(" ");

}
printf(" %s ",festivals[mt]);//本月節日

return0;
}

I. 求c語言程序,輸入年月日就可以得到當月日歷,可以翻到上月和下月,節假日標星號,跪求!

顯示日歷比較簡單,要標記節假日。。由於節假日太多,很費時的

J. c語言節日

一個字典結構.c++用標准庫
或者用字元串查找.

===例子嘛,我以前寫的一個英漢對照的程序(相當粗糙的),框架可以套用.
======main.cpp
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <iomanip>
const int MAXNUM=100;
using namespace std;
struct lst_w
{
string en;
string cn;
};
class Compare_lst_w_en
{
public:
int operator()(const lst_w& l1,const lst_w& l2) const {
return l1.en<l2.en;
}
};
void trans(char*);
void trans(string);
string null_str("NULL");
string& get(string);
vector<lst_w> li(MAXNUM);
int main()
{
ifstream fi("list.txt");
string str;
int tmp;
int i=0;
while(!fi.eof())
{
getline(fi,str);
tmp=str.find(':');
li[i].en=str.substr(0,tmp);
li[i].cn=str.substr(tmp+1,string::npos);
if(li[i].en!="")
// cout.width(9);
// cout<<li[i].en<<" 翻譯為:"<<li[i].cn<<endl;

i++;

}
fi.close();
ofstream fo("list.txt");
sort(li.begin(),li.begin()+i,Compare_lst_w_en());
for(int j=0;j<i;j++)
{
fo<<li[j].en<<":"<<li[j].cn<<endl;
}
fo.close();
// getline(cin,str);
// trans(str);
trans("i catch your dog that injure their leg");
// cout<<i;

getchar();
}
void trans(char* cstr)
{
string str(cstr);
return trans(str);
}
void trans(string str)
{
// string str(cstr);
string word;
string enl,cnl;
int n=-1;
int old_n=0;
n=str.find(' ');
while(n!=-1)
{
word=str.substr(old_n,n-old_n);
int sp=word.size() - get(word).size();
if(sp>0){

enl+=word;
enl+=" ";
cnl+=get(word);
cnl+=string(1+sp,' ');
}else
{
enl+=word;
enl+=string(1-sp,' ');
cnl+=get(word);
cnl+=" ";
}

old_n=n+1;
n=str.find(' ',old_n);
}
word=str.substr(old_n,string::npos);
if(word!="")
{
enl+=word;
cnl+=get(word);
}
cout<<enl<<endl;
cout<<cnl<<endl;
}
string& get(string instr)
{
int i;
for(i=0;i<li.size();i++)
{
if(li[i].en==instr)
return li[i].cn;
}
return null_str;
}
=======list.txt
a:一
aback:向後
abacus:算盤
abalone:鮑魚
abandon:放棄
abase:使受辱
abash:使羞愧
abate:使變小
abattoir:屠宰場
abbess:女修道院長
abbey:大修道院
abbot:男修道院長
abbreviate:縮寫
abdicate:退離
abdomen:腹
abct:誘拐
abed:在床上
aberrant:異常的
aberratiton:失常
abet:慫恿
am:是
an:一
and:和
animal:動物
are:是
bit:位
cat:貓
catch:抓住
chameleon:變色龍
computer:計算機
dictionary:字典
dog:狗
edit:編輯
end:結束
extinct:滅絕
file:文件
fine:好的
good:好
he:他
i:我
injure:受傷
is:是
it:它
leg:腳
list:列表
mine:我的
my:我的
of:的
one:一
or:或
plus:加
run:跑
she:她
sky:天
start:開始
system:系統
that:那
their:他們的
they:他們
two:二
word:詞
you:你
your:你的
zero:零