急求!C语言计算天数

Python020

急求!C语言计算天数,第1张

#include<stdio.h>

int main()

{

int yyyy,mm,dd,a,b

scanf("%d/%d/%d",&yyyy,&mm,&dd)

a=31*(mm>1)+28*(mm>2)+31*(mm>3)+30*(mm>4)+31*(mm>5)+30*(mm>6)+31*(mm>7)+31*(mm>8)+30*(mm>9)+31*(mm>10)+30*(mm>11)+dd

b=((yyyy%4==0)*(yyyy%100!=0)+(yyyy%400==0))*(mm>2)

printf("%d\n",a+b)

return 0

}

假设输入日期格式为:yyyy-mm-dd,如2022-1-1,C语言代码如下:

#include <stdio.h>

int main() {

  int y, m, d, i

  scanf("%d-%d-%d", &y, &m, &d)// 要求输入日期格式为yyyy-mm-dd

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

  if ((y % 4 == 0 &&y % 100 != 0) || (y % 400 == 0)) // 闰年

      month[2] = 29// 闰年2月为29天

  if (m <= 0 || m >12) {

      printf("月份%d不属于[1,12],程序退出\n", m)

      return -1

  }

  int days = month[m] - d// 距当月月底的天数

  if (days <0) {

      printf("%d年%d月最多%d天,程序退出\n", y, m, month[m])

      return -1

  }

  for (i = m + 1i <= 12i++)

      days += month[i]// 下月开始距年底的天数

  printf("%d\n", days)

  return 0

}

运行结果如下:

输入2022-1-1,2022年为平年,一年共365天,所以2022年第一天距年底还有364天

输出为364,符合题意,望采纳~