fork(8) download
  1. #include<bits/stdc++.h>
  2. int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31},pre[13];
  3. int year,initial,n,month,day;
  4. bool is_leap_year(){ //判斷是否是閏年
  5. if(!(year%400))return true;
  6. if(!(year%100))return false;
  7. if(!(year%4))return true;
  8. return false;
  9. }
  10. int calc(){
  11. if(month<1||month>12)return -1;
  12. if(day<1||day>days[month]+(is_leap_year()&&month==2))return -2;
  13. int sum=pre[month-1]+day; //sum=這年的第幾天
  14. if(is_leap_year()&&month>2)sum++;
  15. return (sum-1+initial)%7;
  16. }
  17. main(){
  18. for(int i=1;i<13;i++)
  19. pre[i]=pre[i-1]+days[i];
  20. printf("輸入年份跟1/1是星期幾\n");
  21. scanf("%d%d",&year,&initial);
  22. printf("輸入有幾組日期要算(n=1~10))\n");
  23. scanf("%d",&n);
  24. printf("輸入日期\n");
  25. while(n--){
  26. scanf("%d%d",&month,&day);
  27. printf("%d\n",calc());
  28. }
  29. return 0;
  30. }
Success #stdin #stdout 0s 3416KB
stdin
Standard input is empty
stdout
輸入年份跟1/1是星期幾
輸入有幾組日期要算(n=1~10))
輸入日期