當前位置:編程學習大全網 - 編程語言 - 編寫程序,輸入壹個用三個整數表示的年月日,輸出該日是星期幾。

編寫程序,輸入壹個用三個整數表示的年月日,輸出該日是星期幾。

既然要判斷某壹天是星期幾,妳總得知道,某壹基準日期是星期幾把,我好像沒有找到有關於基準日期的代碼,妳的代碼沒有註釋看起來特費勁!!!

我給妳寫壹個,妳參考下,運行過了,麽有任何問題!!

又不明白的可以交流下!

我的是以1970年1月1日,作為基準日期,此日是周四

#include <stdio.h>

//計算給定的日期是本年的第幾天

int count(int year,int month,int day)

{int i,sum=0,flag=0;

int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

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

sum=a[i]+sum;

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

flag=1;

if(flag==1&&month>2) sum++;

sum=sum+day;

return sum;

}

int main()

{

int year,month,day;

int sum=0,i;

int a;

//1970年1月1日是周四。

printf("輸入日期:");

scanf("%d%d%d",&year,&month,&day);

for(i=1970;i<year;i++)

{

if(i%400==0||i%100!=0&&i%4==0)

sum=sum+366 ;

else sum=sum+365;

}

sum+=count(year,month,day)-1;

a=sum%7;

switch(a)

{

case 0:printf("%d年%d月%d日是:周四\n",year,month,day);break;

case 1:printf("%d年%d月%d日是:周五\n",year,month,day);break;

case 2:printf("%d年%d月%d日是:周六\n",year,month,day);break;

case 3:printf("%d年%d月%d日是:周日\n",year,month,day);break;

case 4:printf("%d年%d月%d日是:周壹\n",year,month,day);break;

case 5:printf("%d年%d月%d日是:周二\n",year,month,day);break;

case 6:printf("%d年%d月%d日是:周三\n",year,month,day);break;

}

return 0;

}

c編程高手團隊正在招新,有意者速速行動,壹起學習,壹起努力!!

  • 上一篇:C語言二叉樹的深度指什麽?怎麽求?
  • 下一篇:有什麽好的錄屏軟件和視頻編輯軟件介紹?
  • copyright 2024編程學習大全網