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

C++程序跳过以9结尾的数字问题求助

问题分析与解决:C++程序缺失以9结尾的数字

问题根源

你的代码逻辑错误导致无法输出以9结尾的数字:当dig1递增到'9'时,代码立刻将其重置为'0'并让dig2进位,随后输出的是重置后的dig1(即'0'),因此永远不会输出dig1为'9'的组合(比如09、19等)。

修正方案

将判断条件从dig1 == '9'改为dig1 > '9'。因为字符'9'的ASCII码是57,递增后会变成ASCII码58(对应字符':'),此时才需要执行进位操作,这样就能保留dig1为'9'的输出。

修改后的代码

#include <iostream>

using namespace std;

int main()
{
    int i;
    char dig1 = '0', dig2 = '0';
    cout << dig2 << dig1 << endl;
    
    for(i = 0; i < 90; i++)
    {
        dig1++;
        if(dig1 > '9')  // 修正判断条件
        {
            dig1 = '0';
            dig2++;
        }
        cout << dig2 << dig1 << endl;
    }

    return 0;
}

效果验证

修改后程序会依次输出00、01...09、10...89、90,所有以9结尾的数字都能正常显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 12:15:42