编写程序解题思路吗switch语言

假设星期一至星期五每工作一小时的工资是20元,星期六和星期日每工作一小时的工会最是平时的3倍,其中工资的4.5%是税金。试编一程序从键盘输入星期序号(1,2,3,4,5,6,7,分别表示星期一至星期天)和工作小时数,计算该日的工资及应交税金

每天的都要输入和计算吧

#include<stdio.h>
int main() {
    int a, b, i;
    double s1 = 0;
    printf("输入星期几和这一天工作小时数:");
    scanf("%d %d", &a, &b);//输入a表示星期几,b表示当天工作的小时数

    switch(a) {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            s1 = b * 20;   //如果a是1,2,3,4,5,则每天的工资是每小时20,当天工资就是b * 20
            break;
        case 6:
        case 7:
            s1 = b * 20 * 3;  //如果a是6,7,则每天的工资是平常3倍,当天工资就是b * 20 * 3
            break;
    }
    printf("该日工资:%.2f,该日应交税金:%.2f\n", s1, s1 * 0.045);  //s1就是计算后的总工资,s1*4.5%就是应交的税
    return 0;
}

定义数组 float daytime[7]来保存输入的每天工时
然后输入一个数n,范围(1-7),
然后switch里面判断n
若n=5,或n=6则s1=daytime[n-1]30.955 s2=daytime[n-1]30.045
若n=1,2,3,4,5,则s1=daytime[n-1]*0.95 s2=daytime[n-1]*0.045
然后输出s1 s2