1 条题解

  • 0
    @ 2025-11-29 12:35:42

    C :

    #include<stdio.h>
     
    /**
     *
     * @param weight 物品总重量
     * @param baseWeight 首重
     * @param addionalWeight 续重
     */
    void getBaseWeightAndAddionalWeight(const int weight, float *baseWeight,float *addionalWeight){
        if (weight >= 1) {
            *baseWeight = 1;
            *addionalWeight = (int)(weight - *baseWeight + 1) * 1.0;
        } else {
            *baseWeight = 1;
            *addionalWeight = 0;
        }
    }
    int main() {
        float baseWeight;
        float addionalWeight;
        float weight;
        int area;
        scanf("%d,%f", &area, &weight);
        if (area < 0 || area > 4) {
            printf("Error in Area\n");
        }
        getBaseWeightAndAddionalWeight(weight, &baseWeight, &addionalWeight);
        float price = 0;
        switch (area) {
            case 0:
                price = 10 * baseWeight + 3 * addionalWeight;
                break;
            case 1:
                price = 10 * baseWeight + 4 * addionalWeight;
                break;
            case 2:
                price = 15 * baseWeight + 5 * addionalWeight;
                break;
            case 3:
                price = 15 * baseWeight + 6.5 * addionalWeight;
                break;
            case 4:
                price = 15 * baseWeight + 10 * addionalWeight;
                break;
        }
        printf("Price: %5.2f\n", price);
        return 0;
    }
    
    • 1

    信息

    ID
    88
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者