为什么答案出错了呢
是一个输入年份和月份可以输出当月天数的程序编译通过但是答案错误 到底是哪里出错了呢{:10_284:}
代码如下:
#include<stdio.h>
int main()
{
int m,y;
scanf("%d %d",&y,&m);
if(y%4==0&&y%100!=0)
{
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
{
printf("31\n");
}
else if(m=2)
{
printf("29\n");
}
else
{
printf("30\n");
}
}
if(y%400==0)
{
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
{
printf("31\n");
}
else if(m=2)
{
printf("29\n");
}
else
{
printf("30\n");
}
}
else
{
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
{
printf("31\n");
}
else if(m=2)
{
printf("28\n");
}
else
{
printf("30\n");
}
}
return 0 ;
} 以及大佬可不可以介绍一个简单点的方法感觉我的程序好麻烦哦{:10_284:} whale-1901 发表于 2020-10-3 19:07
以及大佬可不可以介绍一个简单点的方法感觉我的程序好麻烦哦
#include<stdio.h>
int main()
{
int m, y;
scanf("%d %d", &y, &m);
if (y % 4 == 0 && y % 100 != 0)
{
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
{
printf("31\n");
}
else if (m == 2) //你这里少打了各=
{
printf("29\n");
}
else
{
printf("30\n");
}
}
if (y % 400 == 0)
{
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
{
printf("31\n");
}
else if (m == 2)//少了一个=
{
printf("29\n");
}
else
{
printf("30\n");
}
}
else
{
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
{
printf("31\n");
}
else if (m == 2)//少等号
{
printf("28\n");
}
else
{
printf("30\n");
}
}
return 0;
}
#include<stdio.h>
int main()
{
int m, y;
printf("请依次输入年,月:");
scanf("%d %d", &y, &m);
if ((y % 4 == 0 && y % 100 != 0)||(y % 400 == 0))
{
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
{
printf("31\n");
}
else if (m == 2) //你这里少打了各=
printf("29\n");
else
printf("30\n");
}
else
{
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
{
printf("31\n");
}
else if (m == 2)//少等号
printf("28\n");
else
printf("30\n");
}
return 0;
}
闰年判断少不了的,但可以合并 楼主人呢
页:
[1]