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

来源:百度知道 编辑:UC知道 时间:2024/06/22 01:41:18
#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(&q

改过来的你对比一下
#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);<