寻找C语言编程高手,帮忙看一下这段程序错在哪里,谢谢~

#include"stdio.h"
int dobb(int);
int date(int,int,int);
int dobb(int year)
{
if((year%4==0 && year%100!=0)|| (year%400==0))
return(1);
else return(0);
}
int date(int year,int month,int day)
{
int leap,cn=0,sum;
leap=dobb(year);
switch(month-1)
{
case 11:cn+=30;
case 10:cn+=31;
case 9:cn+=30;
case 8:cn+=31;
case 7:cn+=31;
case 6:cn+=30;
case 5:cn+=31;
case 4:cn+=30;
case 3:cn+=31;
case 2:if(leap) cn+=29;
else cn+=28;
case 1:cn+=31;
default:cn+=day;
}
sum=year-1+(year-1)/4-(year-1)/100+(year-1)/400+cn;
return(sum);
}

main()
{int year , month, day,sum;
printf("请输入查询的日期:\n");
scanf("%d,%d,%d",&year,&month,&day);
int dobb(int year);
int date(int year,int month,int day);
switch(sum)
{

case 1: printf("今天是周一\n");
case 2: printf("今天是周二\n");
case 3: printf("今天是周三\n");
case 4: printf("今天是周四\n");
case 5: printf("今天是周五\n");
case 6: printf("今天是周六\n");
}
}
这是一个万年历问题,通过日期推算星期几

第1个回答  推荐于2016-08-02
改过来的你对比一下
#include"stdio.h"
int dobb(int);
int date(int,int,int);
int dobb(int year)
{
if((year%4==0 && year%100!=0)|| (year%400==0))
return(1);
else return(0);
}
int date(int year,int month,int day)
{
int leap,cn=0,sum;
leap=dobb(year);
switch(month-1)
{
case 11:cn+=30;
case 10:cn+=31;
case 9:cn+=30;
case 8:cn+=31;
case 7:cn+=31;
case 6:cn+=30;
case 5:cn+=31;
case 4:cn+=30;
case 3:cn+=31;
case 2:if(leap) cn+=29;
else cn+=28;
case 1:cn+=31;
default:cn+=day;
}
sum=year-1+(year-1)/4-(year-1)/100+(year-1)/400+cn;
return(sum);
}

void main()
{
int year , month, day,sum;
printf("请输入查询的日期:\n");
scanf("%d%d%d",&year,&month,&day);
int dobb(int year);
int date(int year,int month,int day);
sum=date(year,month,day);
switch(sum%7)
{
case 0: printf("是周日\n");break;
case 1: printf("是周一\n");break;
case 2: printf("是周二\n");break;
case 3: printf("是周三\n");break;
case 4: printf("是周四\n");break;
case 5: printf("是周五\n");break;
case 6: printf("是周六\n");break;
}
}本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网