求这个代码

求高手帮忙看看下面这个代码!!!!
[问题点数:20分,结帖人fyhailin]
求高手帮忙看看下面这个代码!!!!
[问题点数:20分,结帖人fyhailin]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。共有 2093 人关注过本帖
标题:求万年历的代码!这个好像是高手的活
等 级:本版版主
威 望:99
帖 子:3188
专家分:12346
以下是引用唏嘘草在 23:03:50的发言:
还要问一下啊那个predays=..+..+..看不懂呢
平年一年有365天。闰年的规则是每4年一闰,逢百年不闰,逢4百年又闰。
/4的部分计算有多少个4年一闰。这里包含了逢百不闰的部分,所以又减去/100,但这又多减了逢4百又闰的部分,所以再加/400。
哈哈,我还没见过别人给我的代码加的注释呢,介意发上来让我看看么?
既然你能加注释说明你懂了那段代码,那它也就是你的了,我不会和你争版权的
我比较反感的是拿走别人的代码自己毫不理解却在另一处炫耀的人。
重剑无锋,大巧不工
等 级:侠之大者
帖 子:158
专家分:447
程序代码:#include &stdio.h&
#include &stdlib.h&
#include &time.h&
void Time();&&&&&&&&&&&&&&& //获取当前系统时间
void whatisit();&&&&&&&&&&&&//查询某年某月某日是星期几
void leapyear();&&&&&&&&&&&&//查询某年是否是闰年
int isleapyear(int);&&&&&&&&//判断某年是否为闰年
int whatisita(int ,int );&&&//判断当天是星期几
void printyearday();&&&&&&&&//打印某年全年月历
int everymonth(int,int);&&& //查询某月天数
void printmonth(int,int);&&&//打印月历
void printmonthday();&&&&&& //打印某年某月月历
char *week[]={&星期天&,&星期一&,&星期二&,&星期三&,&星期四&,&星期五&,&星期六&};
void Time()
&&&&&& time_
&&&&&& struct tm *&&&&&&&&&&&&&&&//struct tm 时间结构
&&&&&& time ( &rawtime );&&&&&&&&&&&&&&&&&&// 获取系统时间
&&&&&& timeinfo = localtime ( &rawtime );&&//转换为当地时间
&&&&&& printf( &&&&&&&&&& 当前时间为: %4d-%02d-%02d %02d:%02d:%02d\n&, <font color=#0+timeinfo-&tm_year,<font color=#+timeinfo-&tm_mon,timeinfo-&tm_mday,
&&&&&&&&timeinfo-&tm_hour,timeinfo-&tm_min,timeinfo-&tm_sec );
void main()
&&& Time();
&&& printf(&&&&&&&&&& 欢迎使用万年历系统! \n&);
&&while(<font color=#)
&&&printf(&&&&&&&&&& -----------------------------------\n&);
&&&printf(&&&&&&&&&& 1. 查询某年某月某日是星期几\n&);
&&&printf(&&&&&&&&&& 2. 查询某年是否是闰年&&&&&&\n&);
&&&printf(&&&&&&&&&& 3. 打印某年全年月历&&&&&&&&\n&);
&&&printf(&&&&&&&&&& 4. 打印某年某月月历&&&&&&&&\n&);
&&&printf(&&&&&&&&&& 0. 退出&&&&&&&&&&&&&&&&&&&&\n&);
&&&printf(&&&&&&&&&& -----------------------------------\n&);
&&&printf(&请选择操作:&);
&&&scanf(&%d&,&n);
&&&switch(n)
&&&{ case <font color=#:whatisit();break;
&&&&&case <font color=#: leapyear();break;
&&&&&case <font color=#:printyearday();break;
&&&&&case <font color=#:printmonthday();break;
&&&&&case <font color=#:printf(&感谢您的使用!\n&);exit(<font color=#);
&&&&&default:printf(&您的输入错误,请按要求输入!\n&);break;
&&&&&&&&&}
//-------------------------
void whatisit()
{ int y,m,d,s,sum,n,i,k=<font color=#;
&&int a[<font color=#]={<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#};
&&while(k)
&&{ printf(&请依次输入年 月 日:&);
&&& scanf(&%d %d %d&,&y,&m,&d);
&&& if(m&<font color=#||m&<font color=#||d&<font color=#||d&<font color=#){ printf(&输入错误,请重新输入!\n&);continue;}
&&& s=<font color=#;
&&& for(i=<font color=#;i&m;i++)
&&&&&& s=s+a[i];
&&& s=s+d;
&&& if(isleapyear(y)&&m&<font color=#) s=s+<font color=#;
&&& sum=s;
&&& n=(y-<font color=#+(y-<font color=#)/<font color=#-(y-<font color=#)/<font color=#+(y-<font color=#)/<font color=#+sum)%<font color=#;
&&& printf(&这天是:%s\n&,week[n]);
&&& printf(&是否继续查询(Y/N)?:&);
&&& getchar();
&&& if((getchar())=='y'||(getchar())=='Y') k=<font color=#;
&&& else k=<font color=#;
//-------------------------
int isleapyear(int year)
{ return((year%<font color=#==<font color=#&&year%<font color=#!=<font color=#)||(year%<font color=#==<font color=#));}
//-------------------------
void leapyear()
{&&&int y,k=<font color=#;
&&&while(k)
&&& printf(&请输入年份:&);
&&& scanf(&%d&,&y);
&&& if(isleapyear(y))&&printf(&%d年是闰年!\n&,y);
&&& else printf(&%d年不是闰年!\n&,y);
&&& printf(&是否继续查询(Y/N)?:&);
&&& getchar();
&&& if((getchar())=='y'||(getchar())=='Y') k=<font color=#;
&&& else k=<font color=#;
//----------------------
int whatisita(int y,int m)
{ int n,i,s=<font color=#;
&&int a[<font color=#]={<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#};
&&for(i=<font color=#;i&m;i++)
&&&&&&s=s+a[i];
&&if(isleapyear(y)&&m&<font color=#) s=s+<font color=#;
&&s=s+<font color=#;
&&n=(y-<font color=#+(y-<font color=#)/<font color=#-(y-<font color=#)/<font color=#+(y-<font color=#)/<font color=#+s)%<font color=#;
//----------------------
void printyearday()
{ int y,val,sum,i,k=<font color=#;
&&while(k)
&&{ printf(&请输入要查询的年份:&);
&&& scanf(&%d&,&y);
&&& for(i=<font color=#;i&=<font color=#;i++)
&&& { printf(&%d年%d月:\n&,y,i);
&&&&&&val=whatisita(y,i);
&&&&&&sum=everymonth(y,i);
&&&&&&printmonth(val,sum);
&&&&&&printf(&\n&);
&&&&&&printf(&\n&);
&&& printf(&是否继续查询(Y/N)?:&);
&&& getchar();
&&& if((getchar())=='y'||(getchar())=='Y') k=<font color=#;
&&& else k=<font color=#;
//------------------------
int everymonth(int year,int month )
&&&int a[<font color=#]={<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#};
&&&s=a[month];
&&&if(isleapyear(year)&&month==<font color=#) s=s+<font color=#;
//--------------------------
void printmonth(int val,int sum)
{ int n=<font color=#,i,j=<font color=#;
&&&char *x[<font color=#]={&星期天&,&星期一&,&星期二&,&星期三&,&星期四&,&星期五&,&星期六&};
&&&for(i=<font color=#;i&<font color=#;i++)
&&& printf(& %s&,x[i]);
&&& printf(&\n&);
&&& while(j&val) {printf(&&&&&&& &);j++;}
&&& while(n&=sum)
&&& { if((n+val-<font color=#)%<font color=#==<font color=#)
&&&&&&printf(&\n&);
&&&&&&printf(&<font color=#d&,n);
&&&&&&n++;
//-----------------------
void printmonthday()
{ int y,val,sum,m,k=<font color=#;
&&while(k)
&&{ printf(&请输入要查询的年份 月份:&);
&&& scanf(&%d %d&,&y,&m);
&&&&&printf(&%d年%d月:\n&,y,m);
&&&&&&val=whatisita(y,m);
&&&&&&sum=everymonth(y,m);
&&&&&&printmonth(val,sum);
&&&&&&printf(&\n&);
&&& printf(&是否继续查询(Y/N)?:&);
&&& getchar();
&&& if((getchar())=='y'||(getchar())=='Y') k=<font color=#;
&&& else k=<font color=#;
//----------------------------------------
之前刚好写过。。应该符合你的要求。
来 自:安徽省
等 级:新手上路
路过。~小弟刚学C、想借鉴下大虾们的经验呐。。~
等 级:小飞侠
帖 子:1114
专家分:2611
[ 本帖最后由 hjywyj 于
06:53 编辑 ]
等 级:论坛游民
帖 子:128
专家分:93
回复 21楼 beyondyf
我已经发上去了
等 级:论坛游民
帖 子:128
专家分:93
回复 22楼 bccn_2012
我们只是学到指针,一些系统命令都没学!发给老师他坑定不信的
等 级:侠之大者
帖 子:158
专家分:447
回复 26楼 唏嘘草
你可以删去一些不用的啊!晕。。。
等 级:侠之大者
帖 子:158
专家分:447
回复 26楼 唏嘘草
把#inculde&time.h&
void Time();
void Time()
就是把有关Time()函数的
这部分删去就可以了啊!
等 级:新手上路
选择功能:
1.查询某一年日历;
2.查询某一月日历;
3.查询某一天日历;
#include&stdio.h&
int main()
&&& void print_star();
&&& void print_star1();
&&& int range(int x,int y);
&&& long b[500][12][42];
&&& int k,j,q,m,n,i,s,t,judge=1;
&&& char *zodiac[12]={&鸡年&,&狗年&,&猪年&,&鼠年&,&牛年&,&虎年&,&兔年&,&龙年&,&蛇年&,&马年&,&羊年&,&猴年&};
&&& struct cricle
&&&&&&&&struct cricle *
&&& struct cricle a[7],*p,*
&&& head=&a[2];
&&& for(i=1;i&7;i++)
&&&&&&&&a[i-1].next=&a[i];
&&&&&&&&a[i].a=i;
&&& a[6].next=&a[0];
&&& a[0].a=0;
&&& for(k=0;k&500;k++)
&&&&&&&&for(j=0;j&12;j++)
&&&&&&&&&&&&m=p-&a;
&&&&&&&&&&&&n=range((k+1901),(j+1));
&&&&&&&&&&&&for(i=m,q=1;q&=n;i++,q++)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& b[k][j][i]=q;
&&&&&&&&&&&&&&& p=p-&
&&&&&&&&&&&&}
&&&&&&&&&&&&for(;i&42;i++)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& b[k][j][i]=0;
&&&&&&&&&&&&}
&&&&&&&&&&&&for(i=m-1;i&=0;i--)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& b[k][j][i]=0;
&&&&&&&&&&&&}
&&& while(judge)
&&&&&&&&printf(&选择功能:\n1.查询某一年日历;\n2.查询某一月日历;\n3.查询某一天日历;\n选择:&);
&&&&&&&&scanf(&%d&,&s);
&&&&&&&&if(s==1)
&&&&&&&&&&&&printf(&\n请输入年中要查询的年数(如2011):\n&);
&&&&&&&&&&&&scanf(&%d&,&k);
&&&&&&&&&&&&if(k&2400||k&=1900)
&&&&&&&&&&&&{}
&&&&&&&&&&&&print_star1();
&&&&&&&&&&&&printf(&&&&&&&&&& *&&& %d年&&&%s&&*\n&,k,zodiac[k%12-1]);
&&&&&&&&&&&&print_star1();
&&&&&&&&&&&&printf(&\n\n&);
&&&&&&&&&&&&k-=1901;
&&&&&&&&&&&&for(j=0;j&12;j++)
&&&&&&&&&&&&{&&&
&&&&&&&&&&&&&&& print_star();
&&&&&&&&&&&&&&& printf(&&&&&&&&&&&&& *&&%d年%d月&&*\n&,k+1901,(j+1));
&&&&&&&&&&&&&&& print_star();
&&&&&&&&&&&&&&& printf(&&&& 日&&& 一&&& 二&&& 三&&& 四&&& 五&&& 六\n&);
&&&&&&&&&&&&&&& for(i=0;i&42;i++)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&& if(!(i%7))
&&&&&&&&&&&&&&&&&& printf(&\n&);
&&&&&&&&&&&&&&&&&& if(b[k][j][i]==0)
&&&&&&&&&&&&&&&&&& printf(&&&&&&&&);
&&&&&&&&&&&&&&&&&& else
&&&&&&&&&&&&&&&&&& printf(&%6d&,b[k][j][i]);
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& printf(&\n\n\n&);
&&&&&&&&&&&&&&&
&&&&&&&&&&&&}
&&&&&&&&if(s==2)
&&&&&&&&&&&&printf(&\n请输入年中要查询的年月数(如2011.1):\n&);
&&&&&&&&&&&&scanf(&%d.%d&,&k,&j);
&&&&&&&&&&&&if(k&2400||k&=1900)
&&&&&&&&&&&&{}
&&&&&&&&&&&&printf(&\n\n&);
&&&&&&&&&&&&print_star();
&&&&&&&&&&&&printf(&&&&&&&&&&&&*&&%d年 %s %d月&&*\n&,k,zodiac[k%12-1],j);
&&&&&&&&&&&&print_star();
&&&&&&&&&&&&printf(&&&& 日&&& 一&&& 二&&& 三&&& 四&&& 五&&& 六\n&);
&&&&&&&&&&&&k-=1901;
&&&&&&&&&&&&j--;
&&&&&&&&&&&&for(i=0;i&42;i++)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& if(!(i%7))
&&&&&&&&&&&&&&& printf(&\n&);
&&&&&&&&&&&&&&& if(b[k][j][i]==0)
&&&&&&&&&&&&&&& printf(&&&&&&&&);
&&&&&&&&&&&&&&& else
&&&&&&&&&&&&&&& printf(&%6d&,b[k][j][i]);
&&&&&&&&&&&&}
&&&&&&&&&&&& printf(&\n\n\n&);
&&&&&&&&if(s==3)
&&&&&&&&{&&&
&&&&&&&&&&&&printf(&\n请输入年中要查询的年月及天数(如):\n&);
&&&&&&&&&&&&scanf(&%d.%d.%d&,&k,&j,&t);&&&
&&&&&&&&&&&&if(k&2400||k&=1900)
&&&&&&&&&&&&{}
&&&&&&&&&&&&k-=1901;
&&&&&&&&&&&&j--;
&&&&&&&&&&&&for(i=0;i&42;i++)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& if(b[k][j][i]==t)
&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&}
&&&&&&&&&&&&k+=1901;
&&&&&&&&&&&&++j;
&&&&&&&&&&&&if(!(i%7))
&&&&&&&&&&&&{&&& printf(&\n\n\n\n&);
&&&&&&&&&&&&&&& print_star1();
&&&&&&&&&&&&&&& printf(&&&&&&&&&&%d年 %s %d.%d日 星期天\n&,k,zodiac[k%12-1],j,t);
&&&&&&&&&&&&&&& print_star1();
&&&&&&&&&&&&&&& printf(&\n\n\n\n&);
&&&&&&&&&&&&}
&&&&&&&&&&&&else
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& printf(&\n\n\n\n&);
&&&&&&&&&&&&&&& print_star1();
&&&&&&&&&&&&&&& printf(&&&&&&&&&&%d年 %s %d.%d日 星期%d\n&,k,zodiac[k%12-1],j,t,i%7);
&&&&&&&&&&&&&&& print_star1();
&&&&&&&&&&&&&&& printf(&\n\n\n\n&);
&&&&&&&&&&&&}
&&&&&&&&printf(&继续与否:\n\n继续请输入非0数,结束请输入0:\n&);
&&&&&&&&scanf(&%d&,&judge);
&&&&&&&&if(!judge)
&&&&&&&&&&&&printf(&\n\n&);
&&&&&&&&&&&&print_star1();
&&&&&&&&&&&&&&&printf(&&&&&&&&&&&&&&&&&&谢谢使用\n&);
&&&&&&&&&&&&print_star1();
&&&&&&&&&&&&printf(&\n\n\n\n&);
&&& return 0;&&&
int range(int x,int y)
&&& if(y==1||y==3||y==5||y==7||y==8||y==10||y==12)
&&&&&&&&n=31;
&&& else if(y==4||y==6||y==9||y==11)
&&&&&&&&n=30;
&&&&&&&&if(((x%4==0)&&(x%100!=0))||(x%400==0))
&&&&&&&&& n=29;
&&&&&&&&else
&&&&&&&&& n=28;
void print_star()
&&& printf(&********************************************\n&);
void print_star1()
&&& printf(&&&&&&&&&*************************\n&);
等 级:论坛游民
帖 子:128
专家分:93
回复 29楼 read_you
版权所有,并保留所有权利。
Powered by , Processed in 0.039039 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved

我要回帖

更多关于 求生之路2武器代码 的文章

 

随机推荐