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

如何用for循环重复输出1-9序列并得到指定格式结果?

问题分析

你的代码核心问题是:当i是两位数时,printf("%d",i)会输出两个字符(比如i=11时输出"11"),但你期望每个循环只输出单个数字(对应i的个位),这就导致输出长度超标,出现了多余的字符。

修正方案

直接取i的个位数字输出即可,不管i是不是10的倍数,i%10都能得到对应的个位:

for (int i = 1; i <= 35; i++)
{
    printf("%d", i % 10);
}

如果你想保留原来的if-else结构,只需要修改else分支的输出逻辑:

for (int i = 1; i <= 35; i++)
{
    if (i % 10 == 0)
    {
        printf("0");
    }
    else
    {
        printf("%d", i % 10); // 这里改为取个位数字
    }
}
输出验证

运行修正后的代码,会得到你期望的结果:

12345678901234567890123456789012345

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 13:45:44