该人民币支付的问题可以用指针更简便的解决吗?

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法

img


我只能想到用这样的方法

我想要达到的结果

#include <stdio.h>

typedef struct
{
    char name[10];
    int j;
} RMB;

void convert(RMB *rmb, int money)
{
    int t, i = 0;
    while (money > 0)
    {
        t = money / rmb[i].j;
        if (t > 0)
            printf("%s:%d张\n", rmb[i].name, t);
        money %= rmb[i].j;
        i++;
    }
}

int main()
{

    RMB rmbY[6] = {{"壹佰元", 100}, {"伍拾元", 50}, {"拾元", 10}, {"伍元", 5}, {"贰元", 2}, {"壹元", 1}};
    RMB rmbF[6] = {{"伍角", 50}, {"贰角", 20}, {"壹角", 10}, {"伍分", 5}, {"贰分", 2}, {"壹分", 1}};

    double n;
    int y, f;
    scanf("%lf", &n);
    y = (int)n;
    f = (int)((n - y) * 100);

    convert(rmbY, y);
    convert(rmbF, f);

    system("pause");
    return 0;
}

你可以使用switch语句来写,这样更方便