溯582 2022-10-31 23:07 采纳率: 0%
浏览 10

根据日期求星期的问题

一道基础的根据日期求星期问题,各位

#include <stdio.h>  
#include<math.h>
 int main()  
 {  
  int year,month,date,days=0,out,flag=0,i; 
  scanf("%d %d %d",&year,&month,&date);
for(i=1900;i<year;i++){
    if(i%400==0||(i%4==0&&i%100!=0))
    flag=1;
if(flag==1)
days+=366;
else
days+=365;}
if(i==year){
    switch(month){
        case1:days+=0;break;
        case2:days+=31;break;
        case3:days+=31+28;break;
        case4:days+=31+28+31;break;
        case5:days+=31+28+31+30;break;
        case6:days+=31+28+31+30+31;break; 
        case7:days+=31+28+31+30+31+30;break; 
        case8:days+=31+28+31+30+31+30+31;break; 
        case9:days+=31+28+31+30+31+30+31+31;break; 
        case10:days+=31+28+31+30+31+30+31+31+30;break; 
        case11:days+=31+28+31+30+31+30+31+31+30+31;break; 
        case12:days+=31+28+31+30+31+30+31+31+30+31+30;break; 
    }
        if((year%400==0||(year%4==0&&year%100!=0))&&month>=3)
days++;
    days+=date-1;
    
}
    out=days%7;
    if(out==7){
        printf("%d\n",7-out);
    }else
    printf("%d\n",out);
 return 0;
 }  


麻烦看看哪里有问题

  • 写回答

1条回答 默认 最新

  • lzl2040 人工智能领域新星创作者 2022-10-31 23:17
    关注
    #include <stdio.h>  
    #include<math.h>
    int main()  
    {  
          int year,month,date,days=0,out,flag=0,i; 
          scanf("%d %d %d",&year,&month,&date);
        for(i=1900;i<year;i++){
            if(i%400==0||(i%4==0&&i%100!=0))
                flag=1;
            if(flag==1)
                days+=366;
            else
                days+=365;
        }
        if(i==year){
            switch(month){
                case 1:days+=0;break;
                case 2:days+=31;break;
                case 3:days+=31+28;break;
                case 4:days+=31+28+31;break;
                case 5:days+=31+28+31+30;break;
                case 6:days+=31+28+31+30+31;break; 
                case 7:days+=31+28+31+30+31+30;break; 
                case 8:days+=31+28+31+30+31+30+31;break; 
                case 9:days+=31+28+31+30+31+30+31+31;break; 
                case 10:days+=31+28+31+30+31+30+31+31+30;break; 
                case 11:days+=31+28+31+30+31+30+31+31+30+31;break; 
                case 12:days+=31+28+31+30+31+30+31+31+30+31+30;break; 
            }
            if((year%400==0||(year%4==0&&year%100!=0))&&month>=3)
                days++;
            days+=date-1;
        }    
        out=days%7;
        if(out==7){
            printf("%d\n",7-out);
        }else
        printf("%d\n",out);
     return 0;
     }  
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月31日

悬赏问题

  • ¥20 Html备忘录页面制作
  • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
  • ¥20 数学建模来解决我这个问题
  • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?
  • ¥15 django5安装失败