You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言:如何在while循环中累加商品总价并保存到整数变量

问题解决:购物金额累加功能实现

你的问题核心是没有单独存储累计总金额的变量,每次输入新商品时,原有金额数据被覆盖丢失。以下是修正后的代码及说明:

#include <stdio.h>

int main()
{
    int status = 1;
    int unit_price; // 存储当前商品单价
    int quantity;
    int current_item_total; // 当前商品的总价
    int total_sum = 0; // 累计总金额,初始化为0
    
    while(status != 0){
        printf("输入商品单价: ");
        scanf("%d", &unit_price);
        printf("输入商品数量: ");
        scanf("%d", &quantity);
        
        // 计算当前商品总价并累加到总金额
        current_item_total = unit_price * quantity;
        total_sum += current_item_total;
        
        printf("当前商品总价: R$ %d\n", current_item_total);
        printf("累计购物总金额: R$ %d\n", total_sum);
        
        printf("输入操作码(0结束,其他继续): ");
        scanf("%d", &status);
    }
    return 0;
}

关键修改说明:

  • 新增total_sum变量,专门用于保存所有商品的累计金额,初始值设为0,每次循环将当前商品的总价追加进去。
  • 将原有的value拆分为unit_price(单价)和current_item_total(当前商品总价),避免变量复用导致旧数据被覆盖。
  • 输出时同时展示当前商品总价和累计总金额,更贴合购物场景的使用需求。
  • 移除了代码中未使用的cod和counter变量,简化结构。

内容的提问来源于stack exchange,提问作者Daniel Montenegro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 08:43:34