c语言比较年月日大小,[原创]判断输入的年月日是这年的第几天

[原创]判断输入的年月日是这年的第几天

*/ --------------------------------------------------------------------------------------

*/ 出自: 编程中国 http://www.bc-cn.net

*/ 作者: riweng E-mail:342383270@qq.com QQ:342383270

*/ 时间: 2007-7-21 编程论坛首发

*/ 声明: 尊重作者劳动,转载请保留本段文字

*/ --------------------------------------------------------------------------------------

第一种:

#include

void main()

{

int nian,yue,ri,tian;

printf("请输入\t年.\t月.\t日\n");

printf("年:");

scanf("%d",&nian);

printf("月:");

scanf("%d",&yue);

printf("日:");

scanf("%d",&ri);

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

{

if(yue>0&&yue<=12)

{

switch(yue)

{

case 1:

tian=ri;

printf("你输入的是一年中的%d天\n:",tian);

break;

case 2:

tian=(yue-1)*31+ri;

printf("你输入的是一年中的%d\n",tian);

break;

case 3:

tian=(yue-1)*31+ri+28;

printf("你输入的是一年中的%d\n",tian);

break;

case 4:

tian=(yue-2)*31+ri+28+30;

printf("你输入的是一年中的%d\n",tian);

break;

case 5:

tian=(yue-2)*31+ri+28+30;

printf("你输入的是一年中的%d\n",tian);

break;

case 6:

tian=(yue-3)*31+ri+28+30;

printf("你输入的是一年中的%d\n",tian);

break;

case 7:

tian=(yue-3)*31+ri+28+30;

printf("你输入的是一年中的%d\n",tian);

break;

case 8:

tian=(yue-4)*31+ri+28+(30*2);

printf("你输入的是一年中的%d\n",tian);

break;

case 9:

tian=(yue-4)*31+ri+28+(30*2);

printf("你输入的是一年中的%d\n",tian);

break;

case 10:

tian=(yue-5)*31+ri+28+(30*3);

printf("你输入的是一年中的%d\n",tian);

break;

case 11:

tian=(yue-5)*31+ri+28+(30*3);

printf("你输入的是一年中的%d\n",tian);

break;

case 12:

tian=((yue-6)*31)+ri+28+(30*4);

printf("你输入的是一年中的%d\n",tian);

break;

default:

printf("输入错误\n:");

}

}

else

{

printf("你输入的月份错误\n");

}

}

else

{

if(yue>0&&yue<=12)

{

switch(yue)

{

case 1:

tian=ri;

printf("你输入的是一年中的%d天\n:",tian);

break;

case 2:

tian=(yue-1)*31+ri;

printf("你输入的是一年中的%d\n",tian);

break;

case 3:

tian=(yue-1)*31+ri+28;

printf("你输入的是一年中的%d\n",tian);

break;

case 4:

tian=(yue-2)*31+ri+28+30;

printf("你输入的是一年中的%d\n",tian);

break;

case 5:

tian=(yue-2)*31+ri+28+30;

printf("你输入的是一年中的%d\n",tian);

break;

case 6:

tian=(yue-3)*31+ri+28+30;

printf("你输入的是一年中的%d\n",tian);

break;

case 7:

tian=(yue-3)*31+ri+28+30;

printf("你输入的是一年中的%d\n",tian);

break;

case 8:

tian=(yue-4)*31+ri+28+(30*2);

printf("你输入的是一年中的%d\n",tian);

break;

case 9:

tian=(yue-4)*31+ri+28+(30*2);

printf("你输入的是一年中的%d\n",tian);

break;

case 10:

tian=(yue-5)*31+ri+28+(30*3);

printf("你输入的是一年中的%d\n",tian);

break;

case 11:

tian=(yue-5)*31+ri+28+(30*3);

printf("你输入的是一年中的%d\n",tian);

break;

case 12:

tian=((yue-6)*31)+ri+28+(30*4);

printf("你输入的是一年中的%d\n",tian);

break;

default:

printf("输入错误\n:");

}

}

else

{

printf("你输入的月份错误\n");

}

}

}

第二种:

#include

void main()

{

int year,mouth,day;

printf("请输入年,月,日\n");

scanf("%d%d%d",&year,&mouth,&day);

if((year%4==0&&year%100!=0||year%400==0)&&mouth>2)

switch(mouth)

{

case 1:printf("\n该天为这一年的%d\n",day);break;

case 2:printf("\n该天为这一年的%d\n",day+31+1);break;

case 3:printf("\n该天为这一年的%d\n",day+59+1);break;

case 4:printf("\n该天为这一年的%d\n",day+90+1);break;

case 5:printf("\n该天为这一年的%d\n",day+120+1);break;

case 6:printf("\n该天为这一年的%d\n",day+151+1);break;

case 7:printf("\n该天为这一年的%d\n",day+181+1);break;

case 8:printf("\n该天为这一年的%d\n",day+212+1);break;

case 9:printf("\n该天为这一年的%d\n",day+243+1);break;

case 10:printf("\n该天为这一年的%d\n",day+273+1);break;

case 11:printf("\n该天为这一年的%d\n",day+304+1);break;

case 12:printf("\n该天为这一年的%d\n",day+334+1);break;

}

else

switch(mouth)

{

case 1:printf("\n该天为这一年的%d\n",day);break;

case 2:printf("\n该天为这一年的%d\n",day+31);break;

case 3:printf("\n该天为这一年的%d\n",day+59);break;

case 4:printf("\n该天为这一年的%d\n",day+90);break;

case 5:printf("\n该天为这一年的%d\n",day+120);break;

case 6:printf("\n该天为这一年的%d\n",day+151);break;

case 7:printf("\n该天为这一年的%d\n",day+181);break;

case 8:printf("\n该天为这一年的%d\n",day+212);break;

case 9:printf("\n该天为这一年的%d\n",day+243);break;

case 10:printf("\n该天为这一年的%d\n",day+273);break;

case 11:printf("\n该天为这一年的%d\n",day+304);break;

case 12:printf("\n该天为这一年的%d\n",day+334);break;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值