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

C++实验问题:使用static_cast实现0-35整数转对应字符

C++实验代码修正方案

核心改动逻辑

  • 去掉冗余的switch分支结构,直接通过ASCII码偏移计算对应输出字符,全程使用要求的static_cast完成类型转换
  • 数值≤9的场景:数字字符的ASCII码 = 字符'0'的ASCII码 + 输入数值,转换为char类型输出即可,满足1-9使用static_cast的要求
  • 数值≥10的场景:大写字母A的ASCII码是65,10对应A,所以目标字符ASCII码 = 字符'A'的ASCII码 + (输入数值 - 10),再用static_cast转成char类型输出,符合题目提示要求

修正后可运行代码

#include <iostream>
using namespace std;

int main() 
{
    int num;
    cout << "Enter an integer between 0 and 35: ";
    cin >> num;
    cout << endl;

    if (num >= 0 && num <= 9) {
        // 用static_cast将计算后的ASCII值转为char类型输出
        cout << static_cast<char>('0' + num);
    } else if (num >=10 && num <=35) {
        // 计算对应大写字母的ASCII值后转char
        cout << static_cast<char>('A' + (num - 10));
    } else {
        // 可选:非法输入提示,无要求可直接删除该分支
        cout << "Invalid input! Please enter a number between 0 and 35.";
    }

    return 0;
}

验证说明

直接测试边界值即可确认符合要求:

  • 输入0输出0、输入9输出9
  • 输入10输出A、输入35输出Z
    所有转换逻辑都使用了规定的static_cast运算符,满足实验要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:45:05