为什么运行出来,无论输出什么b都为“1”。为什么“:”输出不出来

#include
int main()
{ int a,b;
printf("请输入时间:");
scanf("%d:%d",&a,&b);
if(a>=12&&b<60)
{a=a%12;
printf("现在是%d:%dPM",a,b);
}
else if(a>=12&&b>=60){
a=a%12;
b=b%60;
a=a+1;
{if(a==12)
{
a=a%12;
printf("现在是%d:%dAM",a,b);
}
else{printf("%d:%dPM",a,b);}
}

}

else if(a<12&&b<60){
printf("现在是%d:%dAM",a,b);
}
else if(a<12&&b>=60){
b=b%60;
a=a+1;
{if(a==12)
{
printf("现在是%d:%dPM",a,b);
}
else {
printf("现在是%d:%dAM",a,b);
}
}

}
return 0;
}

你输入了什么?