當前位置:編程學習大全網 - 編程語言 - C語言編程序實現如下功能:輸入任意壹個日期的年、月、日的值,求出是星期幾並輸出。

C語言編程序實現如下功能:輸入任意壹個日期的年、月、日的值,求出是星期幾並輸出。

用蔡勒公式即可:

#include?<stdio.h>

int?main?()

{

int?y,?m,?d,?c,?w;

printf?("輸入年?月?日(空格間隔):");

scanf?("%d?%d?%d",?&y,?&m,?&d);

if?(m?==1?||?m?==?2)?

{?//判斷月份是否為1或2y--;m?+=?12;}

c?=?y?/?100;

y?=?y?-?c?*?100;

w?=?(c?/?4)?-?2?*?c?+?(y?+?y?/?4)?+?(13?*?(m?+?1)?/?5)?+?d?-?1;

while?(w?<?0)?w?+=?7;

w?%=?7;

if?(w?==?0)?printf?("星期日");

else?printf?("星期%d",?w);

return?0;

}?

方法二:

#include?

void main ()

{

int y,m,d,c,s,w;

printf("請輸入8位年月日,以空格隔開:");

scanf("%d%d%d",&y,&m,&d);

if (m==1) c=d;

else if (m==2) c=31 d;

else if (m==3) c=31 28 d;

else if (m==4) c=31 28 31 d;

else if (m==5) c=31 28 31 30 d;

else if (m==6) c=31 28 31 30 31 d;

else if (m==7) c=31 28 31 30 31 30 d;

else if (m==8) c=31 28 31 30 31 30 31 d;

else if (m==9) c=31 28 31 30 31 30 31 31 d;

else if (m==10) c=31 28 31 30 31 30 31 31 30 d;

else if (m==11) c=31 28 31 30 31 30 31 31 30 31 d;

else if (m==12) c=31 28 31 30 31 30 31 31 30 31 30 d;

if (m>2)

{if (y0==0) {if (y@0==0) c=c 1;}

else if (y%4==0) c=c 1;}

s=(y-1)*365 (y-1)/4-(y-1)/100 (y-1)/400 c;

w=s%7;

switch (w)

{

case 0: printf("星期日");break;

case 1: printf("星期壹");break;

case 2: printf("星期二");break;

case 3: printf("星期三");break;

case 4: printf("星期四");break;

case 5: printf("星期五");break;

case 6: printf("星期六");break;

printf("

");

}

}

擴展資料:

C語言日期函數,日期處理函數:

定義壹個表示日期的結構體類型,再分別定義函數完成下列功能:計算某壹天是對應年的第幾天,這壹年壹***多少天;計算兩個日期之間相隔的天數。兩個日期由鍵盤輸入。

算法思想:

設定結構體類型表示日期類型名為 Date,利用 typedef 將其定義為日期型類型名,有三個整型類型的成員分別表示年、月、日。

設定函數計算輸入的日期是這壹年的第幾天。函數的形參為日期型變量,函數體中設定整型數組存放每個月的天數,二月份的天數為 28 天。

設定函數判斷年份是否為閏年以決定二月份的天數。根據輸入的日期月份,在數組中將相應的月份天數求和,假日曰期即為天數。

設定函數完成兩個日期的比較,比較形參 d 和 s 兩個日期的大小。首先比較年,同年的比較月,同月的比較日。變量 start 保存輸入的小的日期年份,end 保存輸入日期大的年份,然後計算兩個日期之間的天數。

程序由 6 個函數構成,yearday() 函數計算某年的天數,monthday() 函數計算某年二月份的天數,dayofyeaK() 函數計算某日期是某年的第幾天。

cmpdate() 函數比較兩個日期的大小,interday() 函數計算兩個日期之間的天數。

dayofyear() 函數調用 monthday() 函數,interday() 函數調用 cmpdate() 函數。

yearday() 函數、dayofyear() 函數;主函數調用 yearday() 函數、dayofyear() 函數、interday() 函數。

  • 上一篇:Nba編程專家
  • 下一篇:官渡區工商註冊:公司註冊的費用需要多少
  • copyright 2024編程學習大全網