编写一个函数,给出年、月、日,计算该日是本年第几天。

2022-10-21 15:32:11   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《编写一个函数,给出年、月、日,计算该日是本年第几天。》,欢迎阅读!
该日,函数,给出,年第,编写

#include <stdio.h>

int date(int a,int b,int c);

void main()

{

int days,x,y,z;

printf("year:\n");

scanf("%d",&x);

printf("month:\n");

scanf("%d",&y);

printf("day:\n");

scanf("%d",&z);

days=date(x,y,z);

if (days==0)

printf("error!\n");

else

printf("%d\n",days);

}

int date(int a,int b,int c)

{

int sum,n;

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

n=-1;

else

n=-2;

if (b<0||12<b)

sum=0;

else

sum=30*(b-1);

switch (b)

{

case 1:

case 2:

sum=sum+b/2;

break;

case 3:

case 4:

case 5:

case 6:

case 7:

case 8:

sum=sum+b/2+n;

break;

case 9:

case 10:

case 11:

case 12:

sum=sum+(b-1)/2+n;

break;

}

if (0<=b||b<=12)

{

if (b%2!=0)

{

if(c<=0||c>31)

sum=0;

else

sum=sum+c;

}

else

{

if(b==2)

{

switch (n)

{

case -1:

if (c<=0||c>29)

sum=0;

else

sum=sum+c;

break;

case -2:

if (c<=0||c>28)

sum=0;

else

sum=sum+c;

break;

}

}

else if (c<=0||c>30)

sum=0;

else

sum=sum+c;

}

}

return sum;

}

本文来源:https://www.dywdw.cn/c45ec4816137ee06eff9189d.html

相关推荐
推荐阅读