用C语言写一个函数,给出年月日,计算该日是该年的第几天

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言写一个函数,给出年月日,计算该日是该年的第几天相关的知识,希望对你有一定的参考价值。

//说明:你的程序存在几个语法错误,1、find(x,y,z)应改成find(int x,int y,int z)函数的定义语法;2、//int find(x,y,z);此处声明多余了,因为函数是在前面定义的,就无需再声明了,而且声明语法不对,应为find(int x,int y,int z);要加分号。3、格式控制符号用错了,应该是没有“,”的scanf("%d%d%d",&year,&month,&date);即在%d%d之间没有逗号;//另外我也编了一个仅供参考,编译成功的,在后面。
//此为我对你的代码的改正,都做了注释说明。
#include
int x,y,z;
int find(int x,int y,int z)//find(x,y,z)应改成find(int x,int y,int z)
int i,t,s,days=0;
if(x%4==0)t=1;
else t=0;
for(i=1;i<y;i++)
if(i==2)s=2-t;
else s=0;
days=days+30+i%2-s;

days=days+z;
return(days);


void main()
//int find(x,y,z);此处声明多余了,因为函数是在前面定义的,就无需再声明了
int year,month,date,day;
scanf("%d%d%d",&year,&month,&date);//格式控制符号用错了,应该是没有“,”的
day=find(year,month,date);
printf("THE DATE IS THE %dth DAYS\n",day);

//另外我也编了一个仅供参考,编译成功的
#include
void main()

int year,month,day,sum;
scanf("%d%d%d",&year,&month,&day);
int p(int year);
int monday(int m);
int find(int y,int m,int d);
sum=find(year,month,day);
printf("THE DATE IS THE %dth DAYS\n",sum);


int p(int year)//判断是否为闰年
int leap;
if((year%4==0&&year%100!=0)||(year%400==0)) leap=1;
else leap=0;
return leap;

int mon_day(int y,int m)//判断月份的日子总数
int num;
switch (m)
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:num=31;break;
case 4:
case 6:
case 9:
case 11:num=30;break;
case 2:if (y&&(m=2)) num=29;
else num=28;
break;

return num;


int find(int y,int m,int d)//计算日子,用遍历的方法,因为每个月份的天数是不同的,闰年时2月天数也不同
int sum=d;
while (m>1)
m=m-1;
sum=sum+mon_day(y,m);
return sum;
参考技术A #include
<stdio.h>
int
main()

int
year,month,day;//年月日
int
judge,i;
int
sum=0;//标记天数
int
date[2][12]=
31,28,31,30,31,30,31,31,30,31,30,31,
31,29,31,30,31,30,31,31,30,31,30,31;//储存闰年和非闰年每一月的天数
printf("输入年月日:");
scanf("%d
%d
%d",&year,&month,&day);
judge=(year%4==0)||(year%400==0
&&
year%100!=0);
//判断年份是不是闰年
是闰年judge就是1;否则就是0
for(i=0;i<month-1;i++)//加month之前的所有天数
sum+=date[judge][i];
sum+=day;//加当天月份的天数day
printf("它是%d年中的第%d天\n",year,sum);
return
0;

JS学校里怎么计算本周是该年的第几周

参考技术A //
定义变量d为当年的1月1日0点
var
d
=
new
Date();
d.setFullYear(d.getFullYear(),0,1);
//
定义day为当年1月1日的星期数(0为星期天,1为星期1,6为星期6)
var
day
=
d.getDay();
//
定义fistweekleft为第一周剩余的天数,此处认为星期一是一周的第一天,如果将星期天定义为一周的第一天,请写成fistweekleft
=
(6-day)%6
var
fistweekleft
=
(7-day)%7;
//
将d赋值为第二周的第一天,1+fistweekleft号为第一周最后天,1+fistweekleft+1为第二周第一天
d.setFullYear(d.getFullYear(),0,1+fistweekleft+1);
//
定义变量d1为当天
var
d1
=
new
Date();
//
当前时间与当年第二周第一天的毫秒数之差除以一周的毫秒数并取整即为当前日期距本的第二周已过的周数
//
结果加上2即为当天为本年的第几周(如果在一周的第一天的0点运行此程序,结果会比实际值大1,此种情况请自行处理)
alert(2+parseInt((d1.getTime()-d.getTime())/1000/60/60/24/7));

以上是关于用C语言写一个函数,给出年月日,计算该日是该年的第几天的主要内容,如果未能解决你的问题,请参考以下文章

c语言编程:输入某年某月某日,计算出这一天是该年的第几天?该怎么解答啊

C语言练习之计算某年日是该年的第几天

编程:要求输入某一年月日,判断其为该年的第几天?

求输出此日期是该年的第几天

用SQL语句计算出给定日期是星期几?

杭电oj 2005