C语言人民币兑换问题

用100元人民币兑换10元、5元和1元的纸币(每一种都要有),输入要兑换的纸币的总数n(101>n>9),
编程输出每种兑换方案中10元、5元和1元的张数,最后输出共有多少种兑换方案。
输入提示:"请输入一共兑换多少张纸币:"
输入格式:"%d"
输出格式:"10元%d张,5元%d张,1元%d张\n"
"总共有%d种方案\n"

程序运行示例:
请输入一共兑换多少张纸币:33
10元3张,5元10张,1元20张
10元7张,5元1张,1元25张
总共有2种方案


#include <stdio.h>
int main()
{

    int i,j,k,sum = 1;          // x 代表10元纸币的张,y代表5元的,z 代表1元的
    int total;
    printf("请输入一共兑换多少张纸币:");
    scanf("%d",&total);
    for (i = 1; i <= total; i++)   //最多拿五十张纸币
    {
        for (j = 1; j <= total ; j++)      //最多拿五十张纸币
        {
            for (k = 1 ; k <=total ; k++)       //最多拿五十张纸币
            {
                if (i + j + k == total && 10 * i + 5 * j + k == 100)
                {                
                    printf("第%d种方法:10元%d张,5元%d张,1元%d张 \n",sum,i,j,k) ;
 
                    sum++ ;
                }
            }
        }
    }
    printf("\n一共%d种方法\n\n",sum-1) ;
    return 0;
    
}