解题思路:
1.先求出输入年与1998年1月1日相差多少的天数sum;
2.然后求输入年的每一个月的13号与1998年1月1日相差的天数sum;注意执行的是:sum=sum+12,因为sum保存的是每一个月1日与1998年1月1日相差的天数;
3.比较该天数sum%7==1是否成立,如果成立,则这个月的13号就是星期五。(1998年1月1日是星期四,所以模7等于1就是星期五了)。
参考代码:
#include<iostream> using namespace std; int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; bool leap(int year) { if(year%4==0 && year%100!=0 || year%400==0) return true; else return false; } int main() { int yy; while(cin>>yy) { int sum=0,cnt=0; for(int y=1998;y<yy;y++) { if(leap(y)) sum=sum+366; else sum=sum+365; } if(leap(yy)) month[2]=29; else month[2]=28; for(int i=1;i<=12;i++) { sum=sum+12; if(sum%7==1) cnt++; sum=sum-12+month[i]; } cout<<cnt<<endl; } return 0; }
0.0分
1 人评分
C语言训练-邮票组合问题* (C语言代码)......浏览:645 |
C语言程序设计教程(第三版)课后习题3.7 (C++代码)浏览:988 |
简单的a+b (C语言代码)浏览:573 |
兰顿蚂蚁 (C++代码)浏览:1044 |
【排队买票】 (C语言代码)浏览:899 |
C语言程序设计教程(第三版)课后习题6.3 (C++代码)浏览:950 |
K-进制数 (C语言描述,蓝桥杯)浏览:925 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:664 |
sizeof的大作用 (C语言代码)浏览:1449 |
矩形面积交 (C++代码)浏览:1127 |