各位帮我看看我的代码到底哪里错了吧!自己感觉很对啊!计算日历


#include<stdio.h>
int main()
{
    int i, m, n;
    while (scanf("%d", &i) != EOF)
    {
        if (i <= 9)
        {
            printf("%d\n", i);
        }
        else
        {
            m = (i - 9) % 20;
            n = (i - 10) / 20 + 1;

            if (m % 2 == 0)
            {
                printf("%d\n", m / 2 - 1);
            }  
            else
            {
                printf("%d\n", n);
            }
        }
    }
    return 0;
}

题目在这里:

img

他这个只需要运行一次判断一次 不用一直判断
你一开始输入就有问题,他是输入几月几日两个 你就输入一个
你试试我的
#include<stdio.h>
int main()
{
int i,m,d,data;
scanf("%d %d",&m,&d);
if(((m<=7)&&(m%2!=0))||((m>=8)&&(m%2==0)))
{
if(m==1)
{
data=d;
}
else
{
data=28+(m-3)/2*30+(m/2)*31+d;//计算一共有多少天
}
}
else
{
if(m==2)
{
data=31+d;
}
else
{
data=28+((m+1)/2)*31+((m-4)/2)*30+d;
}
}
i=(data+4)%7;//0代表星期天 你自己改一下 其他的都对
printf("%d\n",i);

return 0;

}

我发现我的代码上传错了,这是另一题的代码了