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

C++新手求助:输入单个三位数求各位数字算术平均值的实现

实现代码
#include <iostream>
int main()
{
    int number;
    // 读取完整的三位数
    std::cin >> number;
    // 拆分各位数字,逻辑和参考Python代码完全一致
    int digital3 = number % 10;
    int digital2 = (number / 10) % 10;
    int digital1 = number / 100;
    // 计算并输出平均值
    std::cout << (digital1 + digital2 + digital3) / 3.0 << std::endl;
    return 0;
}
原代码问题说明

你原来的代码声明了3个独立的int变量,使用std::cin >> a >> b >> c输入时,输入的一整个三位数会被完全赋值给第一个变量a,程序会持续等待后续两个变量的输入,自然无法得到预期结果。

逻辑说明

C++中int类型的除法默认是截断整数除法,和Python中//的运算效果完全一致,直接按照参考Python代码的逻辑转换即可:

  • 先读取完整的三位数存入int变量
  • 分别用取余、整数除法拆分出个位、十位、百位
  • 求和后除以3.0得到浮点型的算术平均值输出

如果作业要求需要做输入合法性校验,可以补充判断输入值是否在100~999的区间内,不符合的话给出对应提示即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:54:03