lchad 2014-02-28 11:21
浏览 987

做过了之后提示 Output Limit Exceeded 输入多组数据

#include
using namespace std;

int isLeapYear(int year);

int getSum(int year, int rest);

int getRest(int year, int month, int day);

int main(void)
{
unsigned int year;
unsigned int month;
unsigned int day;
char fowardslash1;
char fowardslash2;
int sum = 0;
int rest = 0;
int x;
while(cin >> x)
{
cin >> year;
cin >> fowardslash1;
cin >> month;
cin >> fowardslash2;
cin >> day;

    rest = getRest(year, month, day);

    sum = getSum(year, rest);

    char *week[7] = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};


    cout << week[sum] << endl;

}

system("PAUSE");
return 0;

}

int isLeapYear(int year)
{
int flag;
if(year % 4 == 0)

    if(year % 100)

        if(year % 400 != 0)
            flag = 0;
        else
            flag = 1;
        else
            flag = 1;
        else
            flag = 0;
return flag;

}

int getSum(int year, int rest)
{
int normal[13] = {365, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int leap[13] = {366, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int sum = 0;
while(year - 1899)
{
if(year % 4 == 0)

        if(year % 100)

            if(year % 400 != 0)

                sum += normal[0];
            else
                sum += leap[0];
            else
                sum += leap[0];
            else
                sum += normal[0];

    year--;
}
sum += rest;
sum = sum % 7;

return sum;

}

int getRest(int year, int month, int day)
{
int normal[13] = {365, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int leap[13] = {366, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i;
int rest = 0;
if(!isLeapYear(year))
{
for(i = 1; i < month-1; i++)
{
rest += normal[i];
}
}
else
{
for(i = 1; i < month-1; i++)
{
rest += leap[i];
}
}
rest += day;

return rest; 

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
    • ¥15 活动选择题。最多可以参加几个项目?
    • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
    • ¥15 vs2019中数据导出问题
    • ¥20 云服务Linux系统TCP-MSS值修改?
    • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
    • ¥20 怎么在stm32门禁成品上增加查询记录功能
    • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
    • ¥50 NT4.0系统 STOP:0X0000007B
    • ¥15 想问一下stata17中这段代码哪里有问题呀