标题:[求助]不能通过编译,老师半个钟头都没调出来的
只看楼主
Seafolk
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2004-5-29
 问题点数:0 回复次数:6 
[求助]不能通过编译,老师半个钟头都没调出来的

[attach]274[/attach] 帮忙啊,万年历的程序,长了点,望耐着性子看完。

老师搞了半个钟头硬是没搞出来,星期一要交作业的~~

搜索更多相关主题的帖子: 钟头 万年历 老师 编译 调出 
2004-05-29 00:49
jiely
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2004-5-15
得分:0 

#include<stdio.h>

void printmonth(int m); /*函数说明*/ void printhead(int m); /*函数说明*/ int daysofmonth(int m); /*函数说明*/ int isleap(int y); /*函数说明*/ int firstday(int y); /*函数说明*/

int year; int weekday; /*全局变量说明*/

void main () { int i ; printf("输入年份:"); scanf("%d",&year); weekday=firstday(year); printf("\n\n"); printf("%d年\n",year); /*17个空格*/ for (i =1;i <=12;i ++) { printmonth(i ); printf("\n"); getch(); } printf("\n\n"); }

void printmonth(int m) { int i ,days=0; printhead(m); days=days+daysofmonth(m); for(i =1;i <=days;i ++) { printf("%5d",i ); weekday=(weekday=1)%7; if(weekday==0) /*打印下一个之前是否换行*/ printf("\n"); /*3个空格*/ } }

void printhead(int m) {int i ; printf("\n%d月 日 一 二 三 四 五 六\n",m); printf(" "); /*3个空格*/ for(i =0;i <weekday;i ++) printf(" " ); /*五个空格*/ }

int daysofmonth(int m) /*返回y年m月的天数*/ { switch(m) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:return 31; break; case 4: case 6: case 9: case 11:return 30; case 2:if(isleap(year))return 29; else return 28; break; default:exit(0); } return 0; }

int isleap(int y) /*判断y年是否为闰年*/ { return ( y%4==0&&y%100!=0||y%400==0); }

int firstday(int y) /*从公元第1天为星期天算出y年第1天是星期几*/ { long n=y*365; int i ; for(i =1;i<y;i ++) /*补上所以的闰年的天数*/ n+=isleap(i); return n%7; }


我的爱好:C和数据库!正在学VC++ 我的QQ:345895839,有共同爱好的加我!期待着与你共同进步!
2004-05-29 15:02
jiely
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2004-5-15
得分:0 

没有具体看你程序的算法~,程序可以运行了~

你的错误:1.程序中有中文字符:如 引号""在你的程序中是“”括号( 不是西文字符.还有一些基本的语法错误和函数的调用及申明的错误.


我的爱好:C和数据库!正在学VC++ 我的QQ:345895839,有共同爱好的加我!期待着与你共同进步!
2004-05-29 15:06
window07
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2004-5-29
得分:0 

你的程序写的有点乱 而且你程序写的时候笔误太多 所以我尽量按你程序的是思路写了一下你自己看看吧 因为在网吧没办法调试 你自己调试一下 我想应该可以通过。 还有希望你以后问问题的时候能减少笔误 还有写程序别那么乱 不然让人去理解你的程序会很困难 大家时间都不富裕。 :)

#include "stdio.h" int year, weekday; int isleap(int year) { return (year%4==0&&year%100!=0||year%400==0); } int firstday(int year) { int i; long n=year*365; for(i=1;i<=year;i++) n+=isleap(i); return n%7; } int monthday(int month) { switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; case 4: case 6: case 9: case 11:return 30; case 2: { if(isleap(year)) return 29; else return 28; } } } void printfmonth(int month) { int i,day; prihead(month); day=monthday(month); for(i=1;i<=day;i++) { printf("%4d",i); weekday=(weekday+1)%7; if(weekday==0) { printf("\n"); } } } prihead(int month) { int i; printf("\n%dmonth\n",month); printf(" SUN MON TUE WED THU FRI SAT\n"); for(i=0;i<weekday;i++) printf(" "); } main() { int i; printf("input year:"); scanf("%d",&year); weekday=firstday(year); printf("%d",weekday); printf("\n\n"); printf("%d year\n",year); for(i=1;i<=12;i++) { printfmonth(i); printf("\n"); getch(); } printf("\n\n"); }

2004-05-29 15:23
98ck31
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2004-5-26
得分:0 
斑竹还真是没的说
2004-05-30 18:41
Seafolk
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2004-5-29
得分:0 

兄弟,谢了!


一个人不要让胡说八道搅浑了自己的思想!
2004-05-30 23:19
quanwenbin
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-10-22
得分:0 
想要大家解决问题,你也要最大程度的方面大家哦!
2008-12-03 20:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-1797-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.759231 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved