说是YD,主要是看干什么用了。精简了一下printf内的内容,干什么用的大家可以脑补一下。主要是女生,应该可以一看就明白是怎么回事。从论坛里看到的,但还是不会做GUI,只好拿CLI来糊弄事了。

还念Fortran的switch语句的简练,其实C应该可以更简单的处理日期的,difftime(),所以说C是白学了。

PS:吐槽一下知更鸟主题的预读功能不给力啊,more标签不能用,预读没有段落格式,每回都要多打好多的字,其实都可以省略的东西。懒得改这些东西了,将就能有就是了。悲了个催的知更鸟。

PS:中国电信好坑爹啊,加载速度好慢,改了Hosts还是不行,还不如ssh快呢。

代码:

/*========================================================================
# FileName: main.c
# Author: hsyyf
# Email: 931107419@qq.com
# HomePage: http://www.hsyyf.me
# LastChange: 2012-07-17 23:38:23
========================================================================*/
#include
#include
int Clc(int m,int d,int old_m,int old_d);
int month(int m);
int main()
{
int m,d,old_m,old_d;
int new_m,new_d;
int Days;
printf("上次的月份:");
scanf("%d",&m);
printf("上次的日子:");
scanf("%d",&d);
printf("再上次的月份:");
scanf("%d",&old_m);
printf("再上次的日子:");
scanf("%d",&old_d);
Days=Clc(m,d,old_m,old_d);
new_d=d+Days;
new_m=m;
while(new_d>=month(new_m))
{
new_m=new_m+1;
new_d=new_d-month(new_m);
}
printf("下次时间为%d月%d日。\n",new_m,new_d);
printf("Power By 931107419@qq.com\n");
system("pause");
return 0;
}

int month(int call_m)
{
switch(call_m)
{
case(1):
case(3):
case(5):
case(7):
case(8):
case(10):
case(12):
return 31;break;
case(2):
return 28;break;
default:
return 30;break;
}
}
int Clc(int m,int d,int old_m,int old_d)
{
int day,months;
day=month(old_m)-old_d+d;
if(old_m==m)
{
day-=month(m);
}
months=m;
while(months-1>old_m)
{
day+=month(months);
months-=1;
}
return day;
}

作者 hsyyf

《一段比较YD的代码。。。》有7条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注