Discuz! Board

 找回密码
 立即注册
查看: 703|回复: 0

10.13 时钟

[复制链接]

54

主题

66

帖子

574

积分

高级会员

Rank: 4

积分
574
发表于 2022-10-13 19:17:41 | 显示全部楼层 |阅读模式
  1. #include<bits/stdc++.h>
  2. #include <windows.h>
  3. using namespace std;

  4. int t1=0;
  5. int i[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,
  6.                         31,29,31,30,31,30,31,31,30,31,30,31};
  7. int rn(int t)
  8. {
  9.         int t1;
  10.     if (t % 4 == 0)
  11.     {
  12.         if (t % 100 == 0)
  13.         {
  14.             // // 这里如果被 400 整除是闰年
  15.             if (t % 400 == 0)
  16.                 t1=1;
  17.             else
  18.                 t1=0;
  19.         }
  20.         else
  21.             t1=1;
  22.     }
  23.     else
  24.         t1=0;
  25.         return t1;
  26. }
  27. void CaculateWeekDay(int y,int m, int d)
  28. {
  29.         if(m==1||m==2) {
  30.         m+=12;
  31.         y--;
  32.         }
  33.         int iWeek=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
  34.         switch(iWeek)
  35.         {
  36.         case 0: printf("星期一"); break;
  37.         case 1: printf("星期二"); break;
  38.         case 2: printf("星期三"); break;
  39.         case 3: printf("星期四"); break;
  40.         case 4: printf("星期五"); break;
  41.         case 5: printf("星期六"); break;
  42.         case 6: printf("星期日"); break;
  43.         }
  44. }
  45. int main(){
  46.     int hou,min,sec,day,yea,mon;
  47.         hou=0;
  48.         min=0;
  49.         sec=0;
  50.         day=13;
  51.         mon=10;
  52.         yea=2022;
  53.         rn(yea);
  54.         here:
  55.                 system("color 0E");
  56.                 while(1)
  57.                         {
  58.                         if(sec==60){
  59.                                 sec=0;
  60.                                 min+=1;
  61.                         }
  62.                         if(min==60){
  63.                                 min=0;
  64.                                 hou+=1;
  65.                         }
  66.                         if(hou==24){
  67.                                 hou=0;
  68.                                 day+=1;
  69.                         }
  70.                         if(day==i[rn(yea)][mon-1]+1){
  71.                                     day=1;
  72.                                     mon+=1;
  73.                                         }
  74.                         if(mon==12){
  75.                                 mon=0;
  76.                                 yea+=1;
  77.                         }
  78.                         cout<<setw(4)<<yea<<"年  "<<setw(2)<<mon<<"月"<<"  "<<setw(2)<<day<<"号"<<"  ";
  79.                         CaculateWeekDay(yea,mon,day);
  80.                         cout<<"  "<<setw(2)<<hou<<":"<<setw(2)<<min<<":"<<setw(2)<<sec<<endl;
  81.                         Sleep(1000);
  82.                         sec+=1;
  83.                         system("cls");
  84.                         goto here;
  85.                 }


  86.         return 0;
  87. }
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-2-13 11:06 , Processed in 0.049845 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表