第1个回答 2012-04-02
我写个大概吗,因为比较长,你可以自己填上去
#inlucde<stdio.h>
int main()
{
int yy,mm,dd,num; //看你输入什么格式咯,我就直接输入了
scanf("%d %d %d",&yy,&mm,&dd);
switch(mm) //看他是第几个月,然后按照月份加上天数就可以了,然后在判断一下是不是闰年,是的话,如果上了3月就+1天就可以了
{
case 1: num=dd;break;
case 2:num=31+dd;break;
case 3:num=31+28+dd;break;
case 4:
......
case 12: //上面的应该会写了把,
}
if((yy%4!=0||yy%100==0&&yy%400!=0)&&mm>2))//判断我上面所说的
num++;
printf("%d",num);
return 0;
}可以了
第2个回答 推荐于2018-05-14
#include<stdio.h>
int YMD_2_JD(int Y, int M, int D){
const short MonthDay[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int JD,i;
JD=D;
for (i=0;i<M;i++) JD+=MonthDay[i];
if ( ((Y%4==0)&&(Y%100!=0) || (Y%400==0) ) && (M>2)) JD++;
return JD;
}
int main(void)
{
int Y,M,D,x;
printf("input y m d\n");
scanf("%d %d %d",&Y,&M,&D);
x=YMD_2_JD(Y,M, D);
printf("%d",x);
}本回答被网友采纳