我这个万年历c语言代码问题出在哪呢?
时间:2008-05-10 22:50:32
来源:论坛整理 作者: 编辑:chinaitzhe
- C/C code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ /*注重本代码中的日期数组是DATE,不是DATA!!!!!!!*/ #include <stdio.h> int CaculateWeekDay(int year,int month,int day) { int week; if(month==1||month==2) { month =12; year--; } week=(day 2*month 3*(month 1)/5 year year/4-year/100 year/400)%7 day; return week; } /*暂时先不用它int leap(int yearNum) { if(yearNum%4==0&&yearNum0||yearNum@0==0); return 1; }*/ int date[12][6][7]; int day_tbl[][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}}; main() { int FirstDay,i,j,k,wd=0,day,leap; int Year; char title[]="SUN MON TUE WED THU FRI SAT"; printf("Please input the year whose calendar you want to know: "); scanf("%d",&Year); FirstDay=CaculateWeekDay(Year,1,1); /*输入年份的1月1号的日期*/ leap=Year%4==0&&Year0||Year@0==0; /*判定是否为闰年*/ for(i=0;i<12;i ) for(j=0;j<6;j ) for(k=0;k<7;k ) date[i][j][k]=0; /*对储存日期的3维数组进行初始化*/ for(i=0;i<12;i ) for(day=1;day<=day_tbl[leap][i];day ) { date[i][wd][FirstDay]=day; FirstDay= FirstDay%7; if(FirstDay==0) wd ; /* 完成对日期的填充*/ } for(i=0;i<12;i ) { for(k,wd=0;k<7;k ) wd =date[i][5][k]; wd=wd?6:5; /*这里计算每个月的最大星期数*/ printf(" %s\n",title);/*输出日期字符串*/ for(j=0;j<wd;j ) { for(k=0;k<7;k ) if(date[i][j][k]) printf("M",date[i][j][k]); else printf(" "); printf("\n"); } } puts("\n press any key to quit...."); getch(); }
网友回复:
- C/C code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ //注重本代码中的日期数组是DATE,不是DATA!!!!!!! #include <stdio.h> int CaculateWeekDay(int year,int month,int day) { int week; if(month==1||month==2) { month =12; year--; } week=(day 2*month 3*(month 1)/5 year year/4-year/100 year/400)%7 day; return week; } //暂时先不用它int leap(int yearNum) //{ //if(yearNum%4==0&&yearNum0||yearNum@0==0); //return 1; // } int date[12][6][7]; int day_tbl[][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}}; main() { int FirstDay,i,j,k,wd=0,day,leap; int Year; char title[]="SUN MON TUE WED THU FRI SAT"; printf("Please input the year whose calendar you want to know: "); scanf("%d",&Year); FirstDay=CaculateWeekDay(Year,1,1); //输入年份的1月1号的日期 bool temp = (Year % 4 == 0) && (Year % 100) || (Year % 400==0); //判定是否为闰年 if(temp) leap = 1; else leap = 0; for(i=0;i<12;i ) for(j=0;j<6;j ) for(k=0;k<7;k ) date[i][j][k]=0; //对储存日期的3维数组进行初始化 for(i=0;i<12;i ) { wd = 0; for(day=1;day <= day_tbl[leap][i];day ) { date[i][wd][FirstDay] = day; FirstDay = FirstDay % 7; if(FirstDay == 0) wd ; //完成对日期的填充 } } for(i=0;i<12;i ) { for(k=0,wd=0;k<7;k ) wd =date[i][5][k]; wd = wd ? 6 : 5; //这里计算每个月的最大星期数 printf(" %s\n",title);//输出日期字符串 for(j=0;j<wd;j ) { for(k=0;k<7;k ) if(date[i][j][k]) printf("M",date[i][j][k]); else printf(" "); printf("\n"); } } puts("\n press any key to quit...."); getch(); }
你这代码写的实在读起来很不爽!
网友回复:顺便建议你换个编译环境
dev-cpp 4.9.9.2就蛮不错的。。。
假如你想继续做好C的话。。。
网友回复:用记事本写的,代码不是很好看,对不起大家哦
网友回复:最后我再确定下在turbo c 2.0中能够运行的代码是
- C/C code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ #include <stdio.h> int CaculateWeekDay(int year,int month,int day) { int week; if(month==1||month==2) { month =12; year--; } week=(day 2*month 3*(month 1)/5 year year/4-year/100 year/400)%7 day; return week; } int date[12][6][7]; int day_tbl[][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}}; main() { int FirstDay,i,j,k,wd=0,day,leap; int Year; char title[]="SUN MON TUE WED THU FRI SAT"; printf("Please input the year whose calendar you want to know: "); scanf("%d",&Year); FirstDay=CaculateWeekDay(Year,1,1); leap = (Year % 4 == 0) && (Year % 100) || (Year % 400==0); for(i=0;i<12;i ) for(j=0;j<6;j ) for(k=0;k<7;k ) date[i][j][k]=0; for(i=0;i<12;i ) { wd = 0; for(day=1;day <= day_tbl[leap][i];day ) { date[i][wd][FirstDay] = day; FirstDay = FirstDay % 7; if(FirstDay == 0) wd ; } } for(i=0;i<12;i ) { for(k=0,wd=0;k<7;k ) wd =date[i][5][k]; wd = wd ? 6 : 5; printf(" %s\n",title); for(j=0;j<wd;j ) { for(k=0;k<7;k ) if(date[i][j][k]) printf("M",date[i][j][k]); else printf(" "); printf("\n"); } } puts("\n press any key to quit...."); getch(); }
关键字:万年历,语言,代码,问题,
上一篇:返回值
下一篇:下面没有链接了











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面