c语言 输入天数并计算这个天数是几周后的周几 假如今天周五

c语言 输入天数并计算这个天数是几周后的周几 假如今天周五,第1张

#include<stdioh>

void main()

{

int year,num,week_x,week_y;//num表示天数,week_x表示有多少周,week_y表示星期

printf("请输入天数:\n");

scanf("%d",&num);

week_x=num/7;//计算出第几周

week_y=num%7+3;//由于2014年12月31日是星期三

printf("现在是2015年%d周的星期%d\n",week_x,week_y);

}

希望采纳!!!!

函数WEEKNUM(serial_num,return_type)返回一个日期在该年中第几周的数字。其中参数return_type为1表示从星期日开始至星期六算一周,为2表示从星期一开始至星期日算一周。

如B1单元格包含日期值2006-1-2,下面的公式分别返回数字1和2,代表第一周和第二周。2006-1-1是星期日,若return_type为1则从2006-1-1至2006-1-7日为第一周,若return_type为2则2006-1-1为第一周,从2006-1-2至2006-1-8为第2周。

=WEEKNUM(B1,1)

=WEEKNUM(B1,2)

注意:

先加载"分析工具库"才能使用WEEKNUM函数。加载的方法是单击菜单"工具"-"加载宏",在"加载宏"对话框中勾选"分析工具库"复选框,最后单击"确定"按钮。

#include <stdioh>

const char WEEK_DAYS_NAME[7][10]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

/

设定一个最小的系统日期,并且指定改天是星期几

/

/最小的系统日期年份,默认是 2000 年/

const int START_YEAR = 2000;

/日最小的系统日期月份,默认是 1 月/

const int START_MONTH = 1;

/最小的系统日期,默认是 1 号/

const int START_DAY = 1;

/最小的系统日期所在的星期,默认是星期六(2000年1月1日是星期六)/

const int START_WEEK_DAY = 6;

/

功能:

计算指定的 year 年 month 月的天数

/

int getDaysOfMonth(int year ,int month)

{

const int daysOfMonth[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};

// 闰年的二月份

if( month == 2 && ( (year%4==0 && year%100!=0) || year %400==0 ))

{

return daysOfMonth[month] +1;

}

else

{

return daysOfMonth[month];

}

}

/

功能:

计算 year 年 month 月 day 日

距离

START_YEAR 年 START_MONTH 月 START_DAY 日

的天数

/

int getDiffDays(int year ,int month , int day)

{

int diffDays = 0 ;

int y,m,d;

if(year == START_YEAR)

{

if(month == START_MONTH)

{

diffDays = day - START_DAY;

}

else

{

/加上当月剩余天数/

diffDays += getDaysOfMonth(START_YEAR,START_MONTH) - START_DAY + 1;

/加上整月的天数/

for(m = START_MONTH + 1 ; m < month ; m ++)

{

diffDays += getDaysOfMonth(START_YEAR,m);

}

/加上当月剩余天数/

diffDays += day -1;

}

}

else

{

/加上当月剩余天数/

diffDays += getDaysOfMonth(START_YEAR,START_MONTH) - START_DAY + 1;

/加上整月的天数/

for(m = START_MONTH + 1 ; m <= 12 ; m ++)

{

diffDays += getDaysOfMonth(START_YEAR,m);

}

/加上整年的天数/

for(y = START_YEAR+1 ; y < year ; y ++)

{

/如果是闰年/

if((y%4==0%y%100!=0) || y%400==0)

{

diffDays += 366;

}

else

{

diffDays += 365;

}

}

/加上整月的天数/

for(m = 1 ; m < month ; m ++)

{

diffDays += getDaysOfMonth(year,m);

}

/加上当月的天数/

diffDays += ( day - 1 );

}

return diffDays;

}

/

功能:

计算 year 年 month 月 day 日

距离

START_YEAR 年 START_MONTH 月 START_DAY 日

已经过了多少周

/

int getDiffWeeks(int year ,int month , int day)

{

int diffDays ,diffWeeks;

// 距离系统最小时间已经过去的天

diffDays= getDiffDays(year,month,day);

diffWeeks = diffDays/7;

// 修正已经过去的周

if((START_WEEK_DAY + diffDays % 7 )> 7)

{

diffWeeks++;

}

// debug

//printf("%d %d %d\n",diffDays,diffWeeks,(START_WEEK_DAY + diffDays % 7 ) % 7);

return diffWeeks;

}

/

功能:

计算 year 年 month 月 day 日 是星期几

星期一 = 1

星期二 = 2

星期六 = 6

星期天 = 0

/

int getWeekDay(int year ,int month , int day)

{

int diffDays= getDiffDays(year,month,day);

return (START_WEEK_DAY + diffDays % 7 ) % 7;

}

int main(int argc, char argv[])

{

// 设定的开始计算单双周的第一天

int firstWeekYear,firstWeekMonth,firstWeekDay;

// 要查询天

int queryYear,queryMonth,queryDay;

// 相差的天数

int diffDays;

// 相差的周数

int diffWeeks;

printf("输入要设为第一周的日期:");

scanf("%d-%d-%d",&firstWeekYear,&firstWeekMonth,&firstWeekDay);

// 输入要查询的天,按 ctrl + z 退出

printf("输入要查询所在周的日期:");

while(scanf("%d-%d-%d",&queryYear,&queryMonth,&queryDay)!=EOF)

{

diffDays = getDiffDays(queryYear,queryMonth,queryDay) - getDiffDays(firstWeekYear,firstWeekMonth,firstWeekDay);

diffWeeks = getDiffWeeks(queryYear,queryMonth,queryDay) - getDiffWeeks(firstWeekYear,firstWeekMonth,firstWeekDay) + 1;

printf("%4d-%02d-%02d%s 是%s周,第%3d周。距离 %4d-%02d-%02d%s 已经过去了%3d天!\n",

queryYear,queryMonth,queryDay,

WEEK_DAYS_NAME[getWeekDay(queryYear,queryMonth,queryDay)],

(diffWeeks%2==1)"单":"双",

diffWeeks,

firstWeekYear,firstWeekMonth,firstWeekDay,

WEEK_DAYS_NAME[getWeekDay(firstWeekYear,firstWeekMonth,firstWeekDay)],

diffDays

);

}

return 0;

}

/

输入要设为第一周的日期:2011-9-1

输入要查询所在周的日期:2011-9-1

2011-09-01星期四 是单周,第 1周。距离 2011-09-01星期四 已经过去了 0天!

输入要查询所在周的日期:2011-9-2

2011-09-02星期五 是单周,第 1周。距离 2011-09-01星期四 已经过去了 1天!

输入要查询所在周的日期:2011-9-3

2011-09-03星期六 是单周,第 1周。距离 2011-09-01星期四 已经过去了 2天!

输入要查询所在周的日期:2011-9-4

2011-09-04星期日 是单周,第 1周。距离 2011-09-01星期四 已经过去了 3天!

输入要查询所在周的日期:2011-9-5

2011-09-05星期一 是双周,第 2周。距离 2011-09-01星期四 已经过去了 4天!

输入要查询所在周的日期:2011-9-11

2011-09-11星期日 是双周,第 2周。距离 2011-09-01星期四 已经过去了 10天!

输入要查询所在周的日期:2011-9-15

2011-09-15星期四 是单周,第 3周。距离 2011-09-01星期四 已经过去了 14天!

输入要查询所在周的日期:2011-10-1

2011-10-01星期六 是单周,第 5周。距离 2011-09-01星期四 已经过去了 30天!

输入要查询所在周的日期:2011-10-15

2011-10-15星期六 是单周,第 7周。距离 2011-09-01星期四 已经过去了 44天!

输入要查询所在周的日期:2011-10-30

2011-10-30星期日 是单周,第 9周。距离 2011-09-01星期四 已经过去了 59天!

输入要查询所在周的日期:2011-11-1

2011-11-01星期二 是双周,第 10周。距离 2011-09-01星期四 已经过去了 61天!

输入要查询所在周的日期:2011-12-1

2011-12-01星期四 是双周,第 14周。距离 2011-09-01星期四 已经过去了 91天!

/

打开你的设备,从主屏幕的设置--通用--关于本机--序列号,我们就可以看到那个由12位数字与字母混杂而成的序列号。 序列号第一个字母可以看出生产地,具体点,前三位代表产地和产线,从第四位和第五位就是生产日期。 目前序列号的第四位代表生产年份,用20个字母表示(26个字母中除去A,B,E,I,O,U),注意是以每半年一进位。从2010年开始,之前是另一种记法。 C代表2010年上半年,D代表2010年下半年 F代表2011年上半年,G代表2011年下半年 H代表2012年上半年,J代表2012年下半年 K代表2013年上半年,L代表2013年下半年 M代表2014年上半年,N代表2014年下半年 P代表2015年上半年,Q代表2015年下半年 R代表2016年上半年,S代表2016年下半年 T代表2017年上半年,V代表2017年下半年 依此类推。 序列号的第五位是用数字(1-9,除去0)和字母(26个字母中除去A,B,E,I,O,U,S,Z)来表示,共27个,代表周数。从1开始,数完数字数字母,每半年一循环。 数字1-9分别代表第1周-第9周,下来是字母C代表第10周,D代表第11周,依此类推。1个月是4周,就能推算出具体的日期了。例如R1就是2016年1月1日-2016年1月7日,S1就是2016年7月1日-2016年7月7日。 比如,C38NM4RJG5MV,就是深圳富士康在2014年下半年第18周(11月中旬)生产,顺便透露一下末尾G5MV代表香港的网络制式,G代表iPhone 6和6s系列,综合可知这部 iPhone 6是港版。 原封零售机,激活日期比生产日期要晚,手机从出厂到消费者手中需要一段时间,所以出厂日期和首次激活日期一般相差个把月,属于正常情况;而出厂日期比激活日期晚,就是官换机了,因为官换机都是新机子,延续上一台旧机的保修,也就是延续了上一台的激活时间

#include<stdioh>

int main()

{

int d;

scanf("%d",&d);

if(d<1)printf("请输入几天后");

 else if((d+5)%7) printf("%d天后是第%d周的周%d\n",d,(d+5)/7,(d+5)%7);

   else printf("%d天后是第%d周的周日\n",d,(d+5)/7);

getch();

return 0;

}

今天是一年的第几周?今天是2020年的第 48 周,11月的第 4 周;

本周是2020年的第 48 周;

距离2020年结束还有 35 天。在共和行政的初期,周定公和召穆公共同执政,制定纪年。共和元年(即公元前841年)是我国历史有确切纪年的开始。

1949年9月27日,中国人民政治协商会议第一届全体会议一致通过:中华人民共和国采用公元纪年。

公元是“公元纪年”的简称,是国际通行的纪年体系。以传说中耶稣基督的生年为公历元年(相当于中国西汉平帝元年)。公元常以 AD(拉丁文 Anno Domini 的缩写,意为“主的生年”)表示,公元前则以 BC(英文 Before Christ 的缩写,意为“基督以前”)表示。这种纪年体系开始在欧洲各国采用。

中国从辛亥革命后的次年(1912年)起采用公历月、日,但同时采用中华民国纪年。中华人民共和国的纪年采用世界大多数国家的公元纪年制度。

2纪年

先秦编年史《竹书纪年》的初名,本书原名已佚。晋人整理时因见其为编年体史书,故定其名为《纪年》。 书名见西晋杜预《春秋经传集解·后序》等书。

历史上的纪年法

历史中常见的几种纪年法归纳如下:

1.公元纪年法。现行的公元纪年法是从所谓的耶稣出生之年算起,这一年以前的年份叫公元前某年,以后的年份叫公元某年。但应该注意:没有公元零年这一年。我国是从1949年中华人民共和国成立之后采用公元纪年的。

2.干支纪年法。干支纪年法大约始于东汉,也称农历纪年法,即用十天干、十二地支相配纪年,共得60个单位。例如甲午中日战争、戊戌变法、辛亥革命都是采用的干支纪年法,1997年是农历丁丑年。

以上就是关于c语言 输入天数并计算这个天数是几周后的周几 假如今天周五全部的内容,包括:c语言 输入天数并计算这个天数是几周后的周几 假如今天周五、Excel 函数第几周是用哪个、高手指导一下,怎样用C语言编写一个计算单双周的程序,并能显示这是第几周,输入一个日期定为单周,然后自等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9340721.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存