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

如何计算用户输入的学生ID字符串中单个数字的数值总和?

修改C++代码实现学生ID数字求和功能

你的代码目前仅统计了输入字符串的字符长度,要实现数字求和,需要遍历每个字符、判断是否为数字,再将其转换为数值累加。以下是修改后的完整代码:

#include <iostream>
#include <string>
#include <cctype> // 用于isdigit函数

using namespace std;

int main() {
    // 用户输入提示
    cout << "Type in your student login ID: "; 

    string studentId;
    // 获取用户输入
    getline(cin, studentId); 

    int sum = 0; // 初始化求和变量
    // 遍历学生ID的每个字符
    for (char c : studentId) {
        // 判断当前字符是否为数字
        if (isdigit(c)) {
            // 将字符转换为对应的数值并累加(利用ASCII码差值:字符'0'到'9'的ASCII值连续递增)
            sum += (c - '0');
        }
    }

    // 输出数字总和
    cout << "Student ID Sum: " << sum << endl; 

    return 0;
}

关键修改说明:

  • 新增<cctype>头文件,用于调用isdigit()函数判断字符是否为数字
  • 初始化int sum = 0作为求和容器
  • 使用范围for循环遍历输入字符串的每个字符
  • 通过c - '0'将字符形式的数字转换为整数数值
  • 最终输出累加后的sum,替换原代码中的studentId.length()

如果学生ID中包含非数字字符,这段代码会自动忽略它们,仅对数字部分求和。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 15:00:54