网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月16日漏签0天
12204吧 关注:39贴子:808
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 5回复贴,共1页
<<返回12204吧
>0< 加载中...

【C编程】

  • 只看楼主
  • 收藏

  • 回复
  • 天悦无为
  • 我是学神
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
功能介绍:本程序是输入两个年份,月份,日期,然后求出这两个日期之间共距离多少天。如:输入 1996 7 11(按回车)再输入 2014 8 4(按回车),就会显示它们之间相距多少天了。
#include<stdio.h>
#include<conio.h>
//个人思想,盗版必究!
//-是公元前。
main()
{
int y1,y2,m1,m2,d1,d2,dd1,dd2;
int a1,a2,n1,n2,c1,c2,w1,w2;
int s1=0,s2=0,d,s,n;
printf("请输入第一年的年份,月份,日期。\n");
scanf("%d%d%d",&y1,&m1,&d1);
printf("请输入第二年的年份,月份,日期。\n");
scanf("%d%d%d",&y2,&m2,&d2);
n1=y1;
n2=y2;
dd1=d1;
dd2=d2;
if (y1%4==0&&y1%100!=0||y1%400==0)
{
a1=1;
w1=366;
}
else
{
a1=0;
w1=365;
}
if (y2%4==0&&y2%100!=0||y2%400==0)
{
a2=1;
w2=366;
}
else
{
a2=0;
w2=365;
}
if (m1==1 ||m1==3||m1==5||m1==7||m1==8||m1==10||m1==12)
{
if ( d1>31||d1<=0 )
{
printf("第一个日期error\n");
c1=1;
}
}
else if (m1<=0||m1>12)
{
printf("第一个月份error\n");
if ( d1>31||d1<=0 )
{
printf("第一个日期error\n");
c1=1;
}
}
if (m1==2 ||m1==4||m1==6||m1==9||m1==11)
{
if ( m1==2)
{
if ( a1==1)
{
if ( d1>29||d1<=0)
{
printf("第一个二月份日期error\n");
c1=1;
}
}
else
{
if (d1>28||d1<=0)
{
printf("第一个二月份日期error\n");
c1=1;
}
}
}
else
{
if ( d1>30||d1<=0)
{
printf("第一个日期error\n");
c1=1;
}
}
}
if (m2==1 ||m2==3||m2==5||m2==7||m2==8||m2==10||m2==12)
{
if ( d2>31||d2<=0 )
{
printf("第二个日期error\n");
c2=1;
}
}
else if (m2<=0||m2>12)
{
printf("第二个月份error\n");
if ( d2>31||d2<=0 )
{
printf("第二个日期error\n");
c2=1;
}
}
if (m2==2 ||m2==4||m2==6||m2==9||m2==11)
{
if ( m2==2)
{
if ( a2==1)
{
if ( d2>29||d2<=0)
{
printf("第二个二月份日期error\n");
c2=1;
}
}
else
{
if (d2>28||d2<=0)
{
printf("第二个二月份日期error\n");
c2=1;
}
}
}
else
{
if ( d2>30||d2<=0)
{
printf("第二个日期error\n");
c2=1;
}
}
}
switch (m1-1)
{
case 11: d1=d1+30;
case 10: d1=d1+31;
case 9: d1=d1+30;
case 8: d1=d1+31;
case 7: d1=d1+31;
case 6: d1=d1+30;
case 5: d1=d1+31;
case 4: d1=d1+30;
case 3: d1=d1+31;
case 2:
{
if(a1==1)
d1=d1+29;
else
d1=d1+28;
}
case 1: d1=d1+30;break;
case 0: d1=d1+30;break;
}
switch (m2-1)
{
case 11: d2=d2+30;
case 10: d2=d2+31;
case 9: d2=d2+30;
case 8: d2=d2+31;
case 7: d2=d2+31;
case 6: d2=d2+30;
case 5: d2=d2+31;
case 4: d2=d2+30;
case 3: d2=d2+31;
case 2:
{
if(a2==1)
d2=d2+29;
else
d2=d2+28;
}
case 1: d2=d2+30;break;
case 0: d2=d2+30;break;
}
if (c1!=1&&c2!=1&&y1!=0&&y2!=0&&1<=m1&&m1<=12&&1<=m2&&m2<=12)
{
if (y1==y2)
{
if (d1<d2)
n=d2-d1;
else
n=d1-d2;
printf("从%d年%d月%d日到%d年%d月%d日,共相距%d天\n",n1,m1,dd1,n2,m2,dd2,n+1);
}
else if(y1>y2)
{
for(;y2<--y1;y2++)
{
if(y2%4==0&&y2%100!=0||y2%400==0)
s1=s1+366;
else
s2=s2+365;
}
s=s1+s2;
printf("从%d年%d月%d日到%d年%d月%d日,共相距%d天\n",n1,m1,dd1,n2,m2,dd2,s+(w2-d2)+d1);
}
else
{
for(;y1<--y2;y1++)
{
if(y1%4==0&&y1%100!=0||y1%400==0)
s1=s1+366;
else
s2=s2+365;
}
s=s1+s2;
printf("从%d年%d月%d日到%d年%d月%d日,共相距%d天\n",n1,m1,dd1,n2,m2,dd2,s+(w1-d1)+d2);
}
}
else
printf("输入error!");
getch();
return (0);
}
本程序还有不足之处,请广大读者查阅。


  • 天悦无为
  • 我是学神
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这可是一早上的成果,累死我了。


2025-05-16 04:51:04
广告
  • 天悦无为
  • 我是学神
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼



  • 天宇小凡
  • 我是学神
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我记得我以前做过这个。当时我们还打赌呢


  • 天宇小凡
  • 我是学神
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
其实我有个简单的法。


  • 天悦无为
  • 我是学神
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
哈哈。我在考虑出错的情况呢。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回12204吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示