求
能不能帮我看看这个怎么出错了
#include<stdio.h>
int isLeap(int year) //判断是否为闰年
{
if(year%100==0||year%4==0)
return 1;
else
return 0;
}
int daysInMonth(int year,int month) //判断某月天数
{
int i;
i=isLeap(year);
if(i==1)
{
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:printf("31天\n");break;
case 2:printf("29天\n");break;
case 4:
case 6:
case 9:
case 11:printf("30天\n");break;
}
}
if(i==0)
{
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:printf("31天\n");break;
case 2:printf("28天\n");break;
case 4:
case 6:
case 9:
case 11:printf("30天\n");break;
}
}
}
int isLegal(int year,int month,int day) //判断日期是否合法
{
int i,j=1,k;
i=isLeap(year);
k=daysInMonth(year,month);
if((month<=0||month>=13)||(day<=0||day>31))
j=0;
else
{
if(i==1)
{
if(month<1||month>12)
j=0;
if(month==4||month==6||month==9||month==11)
{
if(day>30||day<=0)
j=0;
}
if(month==2)
{
if(day<=0||day>29)
j=0;
}
}
if(i==0)
{
if(month<1||month>12)
j=0;
if(month==4||month==6||month==9||month==11)
{
if(day<=0||day>31)
j=0;
}
if(month==2)
{
if(day<=0||day>28)
j=0;
}
}
}
return j;
}
int Num(int year,int month,int day)
{
int i,sum;
i=isLeap(year);
switch (month)
{
case 1:sum = 0;break;
case 2:sum = 31;break;
case 3:sum = 59;break;
case 4:sum = 90;break;
case 5:sum = 120;break;
case 6:sum = 151;break;
case 7:sum = 181;break;
case 8:sum = 212;break;
case 9:sum = 243;break;
case 10:sum = 273;break;
case 11:sum = 304;break;
case 12:sum = 334;break;
}
sum=sum+day;
if(i==1&&month>2)
{
sum++;
}
return sum;
}
int main()
{
int year,month,day;
int a,b,c;
a=isLeap(year);
b=isLegal(year,month,day);
if (b==0)
{
do
{
printf("请输入正确格式的日期\n");
scanf("%d-%d-%d",&year,&month,&day);
} while(b==1);
}
c=Num(year,month,day);
printf("该日期是该年的第%d天",c);
printf("%d",b);
}
#include<stdio.h>
int isLeap(int year) //判断是否为闰年
{
if(year%100==0||year%4==0)
return 1;
else
return 0;
}
int daysInMonth(int year,int month) //判断某月天数
{
int i;
i=isLeap(year);
if(i==1)
{
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:printf("31天\n");break;
case 2:printf("29天\n");break;
case 4:
case 6:
case 9:
case 11:printf("30天\n");break;
}
}
if(i==0)
{
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:printf("31天\n");break;
case 2:printf("28天\n");break;
case 4:
case 6:
case 9:
case 11:printf("30天\n");break;
}
}
}
int isLegal(int year,int month,int day) //判断日期是否合法
{
int i,j=1,k;
i=isLeap(year);
k=daysInMonth(year,month);
if((month<=0||month>=13)||(day<=0||day>31))
j=0;
else
{
if(i==1)
{
if(month<1||month>12)
j=0;
if(month==4||month==6||month==9||month==11)
{
if(day>30||day<=0)
j=0;
}
if(month==2)
{
if(day<=0||day>29)
j=0;
}
}
if(i==0)
{
if(month<1||month>12)
j=0;
if(month==4||month==6||month==9||month==11)
{
if(day<=0||day>31)
j=0;
}
if(month==2)
{
if(day<=0||day>28)
j=0;
}
}
}
return j;
}
int Num(int year,int month,int day)
{
int i,sum;
i=isLeap(year);
switch (month)
{
case 1:sum = 0;break;
case 2:sum = 31;break;
case 3:sum = 59;break;
case 4:sum = 90;break;
case 5:sum = 120;break;
case 6:sum = 151;break;
case 7:sum = 181;break;
case 8:sum = 212;break;
case 9:sum = 243;break;
case 10:sum = 273;break;
case 11:sum = 304;break;
case 12:sum = 334;break;
}
sum=sum+day;
if(i==1&&month>2)
{
sum++;
}
return sum;
}
int main()
{
int year,month,day;
int a,b,c;
a=isLeap(year);
b=isLegal(year,month,day);
if (b==0)
{
do
{
printf("请输入正确格式的日期\n");
scanf("%d-%d-%d",&year,&month,&day);
} while(b==1);
}
c=Num(year,month,day);
printf("该日期是该年的第%d天",c);
printf("%d",b);
}
...全文
相关推荐
求模与求余的区别
求模和求余是数学和计算机科学中常见的运算,它们在计算中有着广泛的应用,特别是在数值计算、编码、密码学以及计算机算法设计等领域。这里我们将深入探讨求模和求余的概念,以及它们在不同情况下的行为。
Lua中关于求模与求余的区别介绍
求模和求余的主要区别在于如何处理商的舍入。求模运算时,商被舍入到最接近的整数,但偏向于负无穷小,这样余数的符号始终与除数一致。而求余运算时,商向0方向舍入,使得余数的符号与被除数保持一致。
B样条反求控制点绘制曲线
该项目基于Qt框架实现了一个B样条曲线反求控制点的绘图应用。程序通过矩阵运算反求控制点,支持用户在界面上编辑三维坐标、随机生成数据,并通过滑块调节参数。核心功能包括控制点交互编辑、实时曲线绘制与显示,
C++矩阵求逆
本资源提供的是一种针对多入多出矩阵求逆的实现,这对于机器人系统设计控制算法至关重要。下面将详细讨论矩阵求逆的概念、C++中的实现方式以及在多入多出系统中的应用。
Python求导数的方法
### Python求导数的方法在数学分析中,导数是一个重要的概念,用于描述函数局部线性逼近中的最佳线性近似。Python作为一种强大的编程语言,提供了多种方式来处理数学问题,包括求导数。


其它技术问题
