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:零