pta提交显示段错误,是哪里漏了呀能不能指点一下子,输出不对
5、6行交换
scanf("%d,%d,%d",&a,&s,&d);
为什么不用日期相减呢
12行s和d<=吧,30行应该是输出g。5,6行交换。月份的天数错了,七月也是31天六月30天,类推,然后二月如果是闰年就29天,不是就是28天
仅供参考,望采纳~
#include <stdio.h>
int leap_year[]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int pin_year[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main(void)
{
int y,m,d,day=0;
printf("请输入年月日:\n");
scanf("%d,%d,%d",&y,&m,&d);
if(m>12||d>31)
{
printf("输入错误!");
}
else
{
if((y%4==0&&y%100!=0)||(y%400==0))//闰年366
{
for(int i=1;i<m;i++)
{
day+=leap_year[i];
}
day+=d;
}
else//平年365
{
for(int j=1;j<m;j++)
{
day+=pin_year[j];
}
day+=d;
}
printf("这一天是这一年的第%d天\n",day);
}
return 0;
}