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

如何用C语言实现输入数字后输出对应行数的O字符等腰三角形?

C语言等腰三角形字符打印实现方案

核心逻辑

每行的输出规则可以拆解为固定规律(i为当前行数,从1开始计数,num为用户输入的总行数):

  • 前置空格数量:num - i 个
  • O字符数量:2 * i - 1 个
  • 每行输出完成后执行换行操作
    你之前输出单行长串带空格的O,通常是没有拆分逐行输出逻辑、或者打印O时误加了空格分隔导致的,按分层循环实现即可解决问题。

完整可运行代码

#include <stdio.h>
int main() {
    int num;
    // 读取用户输入的有效行数
    scanf("%d", &num);
    // 外层循环遍历每一行
    for (int i = 1; i <= num; i++) {
        // 输出当前行的前置空格
        for (int space_cnt = 1; space_cnt <= num - i; space_cnt++) {
            printf(" ");
        }
        // 输出当前行的O字符
        for (int o_cnt = 1; o_cnt <= 2 * i - 1; o_cnt++) {
            printf("O");
        }
        // 换行进入下一行
        printf("\n");
    }
    return 0;
}

测试效果

输入num=4时,输出完全匹配需求格式:

O
OOO
OOOOO
OOOOOOO

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

相关产品推荐
方舟 Agent Plan

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

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