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

如何用C语言打印指定奇数数字图案?

如何用C语言打印指定奇数图案并修复代码问题

你的代码核心逻辑错误,导致无法输出目标图案。目标要求每行打印连续递增的奇数序列,第i行需包含前i个奇数(1、3、5…直到第i个奇数),但你当前的逻辑是遍历j从1到i,仅打印j本身为奇数的数字,这和需求不符。

修复后的代码

#include <stdio.h> 
#include <stdlib.h> 

int main(void) { 
    int i, j, limit; 
    printf("请输入行数limit: "); 
    fflush(stdout); 
    scanf("%d", &limit); 
    // 控制打印的行数
    for(i = 1; i <= limit; i++){
        // 每行打印前i个连续奇数
        for(j = 1; j <= i; j++){
            // 计算第j个奇数:2*j - 1
            printf("%d", 2 * j - 1); 
        }
        printf("\n"); 
    } 
    return EXIT_SUCCESS; 
}

关键修改说明

  • 移除了多余的if(j%2==1)判断:我们不需要判断j的奇偶,而是直接通过公式2*j-1生成第j个奇数(j=1对应1,j=2对应3,以此类推)
  • 调整了提示语,让输入引导更清晰

当输入limit=5时,程序输出如下:

1
13
135
1357
13579

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 19:48:05