一道数组练习题请求找错

img


这个第五题从键盘上输入年月日计算这是一年中的第几天,使用数组存放每月天数,使用for循环累加天数应该怎么写我写的不输出啊
#include<stdio.h>
int main()
{
int a[2][12]={
{31,28,31,30,31,30,31,31,30,31,30,31},
{31,28,31,30,31,30,31,31,30,31,30,31}};
int i,j;
int year,month,day;
int sum=0;
printf("请输入年月日:");
scanf("%d %d %d",&year,month,day);
if((year%4==0&&year%100!=0)||(year%400==0))
{
for(j=0;j<month;j++)
sum+=a[0][j];
}
else
{ for(j=0;j<month;j++)
- sum+=a[1][j];
}
sum+=day;
printf("%d年%d月%d日是%d年的第%d天\n",year,month,day,sum);
return 0;
}

是结果不对吗,还是没有结果输出?结果不对的话,应该是for语句中应该是month-1,因为你当前月的天数在后面用day加过了。没有结果输出的话,我没有实际运行过,所以暂时还没看到啥问题。(除了有一些书写的问题:输入行的取地址符号漏写等)