int CaculateWeekDay(int y,int m, int d) {
if(m==1||m==2) {
m+=12;
y--;
}
int iWeek=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7; // 计算今天是星期机
return iWeek;
}
int to_day(int y, int m, int d) {
int mon[] = {
0,31,28,31,30,31,30,31,31,30,31,30,31}; // 月份影射表
int day = 0;
int i;
for(i=1; i<y; i++) {
day += (i%4==0 && i%100!=0 || i%400==0)? 366 : 365;
}
if(y%4==0 && y%100!=0 || y%400==0) mon[2]++; // 计算结果
for(i=1; i<m; i++) {
day += mon[i]; // 计算
}
return day + d;
int isleapyear(int year) {
if((year%4==0)&&(year%100!=0)||(year%400==0))
return 1;
else
return 0;
}
int monthday(int month,int year) {
// 获取每个月的天数量
switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
break;
case 4:
case 6:
case 9:
case 11:
return 30;
break;
case 2:
if(isleapyear(year)) {
return 29;//闰年29天
break;
} else {
return 28;
break;
}
}
}
int main() {
time_t timep;
struct tm *p;
time(&timep);
p=gmtime(&timep);
char v[10];
int year=0,month,days,weekday;
int i,d,a,b,c,m=0,dt=0;
while(1) {
printf("please input the year:");
scanf("%s",v);
year = (v[0]-'0')*1000+(v[1]-'0')*100+(v[2]-'0')*10+(v[3]-'0');
int l = strlen(v);
if(l==6||l==7) {
// i.e 2020.1 2020.12 length 6-7
if(l==6) {
m = v[5]-'0';
}
if(l==7) {
m = (v[5]-'0')*10+(v[6]-'0');
}
} else if(l==8||l==9||l==10) {
if(l==8) {
m = v[5]-'0';
dt= v[7];
} else if(l==9) {
if(v[6]=='.') {
m = v[5]-'0';
dt = (v[7]-'0')*10+(v[8]-'0');
} else {
m = (v[5]-'0')*10+(v[6]-'0');
dt = (v[8]-'0');
}
} else {
m = (v[5]-'0')*10+(v[6]-'0');
dt = (v[8]-'0')*10+(v[9]-'0');
}
}
days = year-1+(year-1)/400+(year-1)/4-(year-1)/100;
if(m==0) {
for(month=1; month<=12; month++) {
printf("\t\t****%d年--%d月****\n",year,month);
printf("sun\tmon\ttues\twed\tthur\tfir\tsat\t\n");//表头
i = 1;
d = 1;
weekday = (days + 1)%7; //求星期几
while(i<=weekday) {
//输出前面的空格
printf("\t");
i++;
}
while(d<=monthday(month,year)) {
//输出日期
weekday = (days + 1)%7;
if(weekday==6) //最后一个是星期六,输出之后要换行
printf("%d\n",d);
else //不是星期六的输出后不换行
printf("%d\t",d);
if(d==monthday(month,year))
printf("\n");
d++;
days++;
}
}
} else {
if(dt==0) {
for(month=m; month<=m; month++) {
printf("\t\t****%d年--%d月****\n",year,month);
printf("sun\tmon\ttues\twed\tthur\tfir\tsat\t\n");//表头
i = 1;
d = 1;
weekday = (days + 1)%7; //求星期几
while(i<=weekday) {
//输出前面的空格
printf("\t");
i++;
}
while(d<=monthday(month,year)) {
//输出日期
weekday = (days + 1)%7;
if(weekday==6) //最后一个是星期六,输出之后要换行
printf("%d\n",d);
else //不是星期六的输出后不换行
printf("%d\t",d);
if(d==monthday(month,year))
printf("\n");
d++;
days++;
}
}
} else {
printf("距离今天:%d 星期%d 不是公立节日\n",diff(year,m,d,p->tm_year+1900,p->tm_mon+1,p->tm_mday),CaculateWeekDay(year,m,d)+1);
}
}
}
}
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
当使用Pycharm和OpenCV调用摄像头时报错Process finished with exit code 134 (interrupted by signal 6: SIGABRT)这应该是MacOS Catalina新的安全协议导致的,md三个多月了PyCharm还没有从软件上解决这个问题,在调用期间Pycharm也没有发出访问摄像头的对话框我的思路是通过终端运行Pycharm...
Namei2c_smbus_read_byte — SMBus “receive byte” protocolSynopsiss32 fsfunci2c_smbus_read_byte (const struct i2c_client * client); ArgumentsclientHandle to sl
springboot主要是依赖一个父项目,主要是管理项目的资源过滤及插件!pom.xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEASE</version>
协程的流程:Unity的协程按我自己的理解就是将一段代码延迟一段时间后再去执行,它的执行顺序是先启动协程,然后执行协程内的代码一直到yield语句,然后继续执行主程的代码,直到yield条件满足后程序会再次跳到yield之后的语句继续执行协程内的语句,知道协程内的语句执行完,或者又遇到yield语句,就继续上述流程。(具体可以去百度协程,这里只是大概讲一下)无参数的协程的启用与禁止:...
Linux系统安装QWT
比如这样的代码http://www.planetb.ca/syntax-highlight-word打开网站后,然后输入,选择语言,然后高亮后复制即可
好程序员Java教程分享JavaScript常见面试题二:1.在JavaScript源文件的开头包含 use strict 有什么意义和好处?对于这个问题,既简要又最重要的答案是,use strict 是一种在JavaScript代码运行时自动实行更严格解析和错误处理的方法。那些被忽略或默默失败了的代码错误,会产生错误或抛出异常。通常而言,这是一个很好的做法。严格模式的一些主要优点包括:...
nodejs 下载地址 https://nodejs.org/en/download/下载.msi格式的文件,傻瓜式安装,一直下一步直到完成。打开cmd, node -v 和 npm -v 分别查看node和npm的版本号,并检验是否安装成功。这里配置自定义的全局模块安装目录,在node.js安装目录下新建两个文件夹 node_global和node_cache。(因为在执行例如npm install webpack -g等命令全局安装的时候,默认会将模块安装在C:\Users\用户名\AppDat
文章目录先序遍历的顺序建立二叉链表复制二叉树计算二叉树的深度统计二叉树中结点的个数计算二叉树叶子结点数先序遍历的顺序建立二叉链表【算法步骤】①扫描字符序列,读入字符ch②如果ch是一个“#”字符,则表明该二叉树为空树,即 T 为NULL;否则执行以下操作:申请一个结点空间 T将 ch 赋给T->data递归创建T的左子树递归创建T的右子树【算法描述】void Crea...
python的简单介绍1.python 是一种解释型语言,意味着没有贬义过程,是一门及时运行的语言,类似于php,javascript;2.python 是交互式语言,意味着你可以使用一个提示符,直接执行你的代码;3.python是面相对象语言,这意味着python可以使用面相对象的风格进行封装;4.python是一门初学者语言,这意味着python入门的门槛比较低;1.python的特点1.易于...
基本问题可以总结为以下几点:注我的系统是XP SP3,开发板是友善mini2440开发板,连接串口的程序是XP下的超级终端。1、首先检查串口是否正常收发数据,具体检查方法参见总结1. 我第一次买的笔记本的USB口转串口的转接线就不能使用,用串口调试工具测试9针的串口2,3脚端接;发现可以发送数据,但是无回显。对于这种情况需要重新购买一根转接线,我后来新买了一根力特的USB