杭电oj 2629题目求解惑

杭电oj2629
自己编译运行输出是符合要求的,可是再oj上就是提示输出错误,希望好心人能为我解惑!!!

#include<stdio.h>
#include<string.h>

int main() {
    int n;
    char s[20];

    int place,birthday,garbage;
    int year, month, day;
    scanf("%d", &n);
    while (n--)
    {
        scanf("%6d", &place);
        scanf("%8d", &birthday);
        scanf("%4d", &garbage);

        if (place == 330000)
            strcpy(s,"Zhejiang");
        else if (place == 110000)
            strcpy(s, "Beijing");
        else if (place == 710000)
            strcpy(s, "Taiwan");
        else if (place == 810000)
            strcpy(s, "Hong Kong");
        else if (place == 820000)
            strcpy(s, "Macao");
        else if (place == 540000)
            strcpy(s, "Tibet");
        else if (place == 210000)
            strcpy(s, "Liaoning");
        else if (place == 310000)
            strcpy(s, "Shanghai");

        year = birthday / 10000;
        month = birthday / 100 - year * 100;
        day = birthday % 100;

        printf("He/She is from %s,and his/her birthday is on %d,%d,%d based on the table.\n", s, month, day, year);

    }

    return 0;
}

Here is Samuel's ID number 331004198910120036 can you tell where he is from?The first 2 numbers tell that he is from Zhengjiang Province,number 19891012 is his birthday date (yy/mm/dd).

把这句话好好看看。