工资发放 c语言练习题,输出无结果


#include<stdio.h>
int main()
{
    int a,b,c,d,e,f,t;
    scanf("%d",a);
    
    if(a>100)
    {
        b=a/100;
    }else
    {
        b=0;
    }if(a%100>50)
    {
        c=(a-100*b)/50;
    }else{
        c=0;
    }if(a%100%50>20)
    {
        d=(a-100*b-50*c)/20;    
    }else{
        d=0;
    }if(a%100%50%20>10)
    {
        e=(a-100*b-50*c-20*d)/10;
    }else{
        e=0;
    }if(a%100%50%20%10>5)
    {
        f=(a-100*b-50*c-20*d-10*e)/5;
    }else{
        f=0;
    }t=a-100*b-50*c-20*d-10*e-5*f;
    
    printf("%d %d %d %d %d %d",b,c,d,e,f,t);
    return 0;
}

为什么会无输出结果?
比如输入123456,回车后出现另一行空格,无结果。

题目描述:公司财务要发工资现金,需要提前换取100元、50元、20元、10元、5元和1元的人民币,
请输入工资数,计算张数最少情况下,各自需要多少张。

输入格式:共一行,输入一个正整数。

输出格式:共一行,分别是100、50、20、10、5、1元面额的张数,用空格隔开各个数据。

示例:
输入:1258
输出:12 1 0 0 1 3

第6行 a前面加&