c语言编程问题,时间停在哪?

读入两个整数,第一个数字以这样的四位数字表示当前时间,采用12小时制,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数,可能超过60,但都是正数采用12小时计时,输入的第一个数超过1259,第2个数为正数,不超720。输出数字前加上一个大写字母“F”,末尾无换行。


int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    int m,n;//把第一个数分成时和分两部分
    m=a/100;
    n=a%100;

    int i,j;//把第二个数分成时和分两部分
    i=b/60;
    j=b%60;
    m=m+i;//时和分各自相加
    n=n+j;

    if(n>=60)//判断分是不是大于60
    {
        m+=n/60;
        n%=60;
    }
    m%=12;
    printf("F %d:%d",m,n);
}