當前位置:編程學習大全網 - 編程語言 - c語言的黑色星期五問題,求糾錯

c語言的黑色星期五問題,求糾錯

//試試下面的算法吧:

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <math.h>

int week(int y,int c,int m,int d);

int main()

{

int T[8]={0};

int i=0,m,y,c,d,flag,end,start;

char a;

printf("請輸入開始日期:");

for(i=0;i<9;i++)

scanf("%c",&T[i]);

printf("請輸入結束日期:");

scanf("%d",&end);

y=(T[2]-48)*10+(T[3]-48);

c=(T[0]-48)*10+(T[1]-48);

m=(T[4]-48)*10+(T[5]-48);

d=(T[6]-48)*10+(T[7]-48);

start=c*1000000+y*10000+m*100+d;

if(d<13)

d=13;

else if(d>13)

{

d=13;

m+=1;

}

printf("黑色星期五有:\n");

for(;start<=end;m++)

{

if(m==13)

{

m=1;

y++;

if(y==99)

{

y=0;

c++;

}

}

start=c*1000000+y*10000+m*100+d;

flag=week(y,c,m,d);

if(flag==5)

printf("%d\t",start);

}

a=getche();

return 0;

}

/*

函數功能:用蔡勒公式計算星期幾

輸入:年份後兩位,年份前兩位,月,日

輸出:星期數

*/

int week(int y,int c,int m,int d)

{

int y1,y2,y3,w;

y1=c*100+y;

y2=m;

y3=d;

if(m==1)

{

y-=1;

m=13;

}

else if(m==2)

{

y-=1;

m=14;

}

w=floor(y/4)+y+floor(c/4)-c*2+floor(26*(m+1)/10)+d-1;/*蔡勒公式*/

w=w%7;

if(w<0)

w+=7;

return w;

}

  • 上一篇:關於未來計算機網絡的展望論文_計算機畢業論文展望
  • 下一篇:如何進入四川省中小學教師信息技術應用能力提升工程學習
  • copyright 2024編程學習大全網