You need to enable JavaScript to run this app. C语言星型金字塔打印程序:现有代码不符预期,求匹配目标输出的正确代码
优惠活动
大模型
产品
解决方案
定价
更多

C语言星型金字塔打印程序:现有代码不符预期,求匹配目标输出的正确代码

可直接运行的星型金字塔C语言实现

原代码存在两处导致输出不符的问题:

  • 前置缩进循环中使用printf(" ")输出两个连续空格,每行缩进量超出预期
  • 打印星号时使用printf("* ")额外添加后缀空格,星号之间存在多余间隙,不符合目标紧凑输出要求

修正后的完整代码:

#include <stdio.h>
int main() {
   int i, space, rows, k = 0;
   printf("Enter the number of rows: ");
   scanf("%d", &rows);
   for (i = 1; i <= rows; ++i, k = 0) {
      // 打印每行前置缩进空格
      for (space = 1; space <= rows - i; ++space) {
         printf(" ");
      }
      // 打印当前行的星号
      while (k != 2 * i - 1) {
         printf("*");
         ++k;
      }
      printf("\n");
   }
   return 0;
}

输入目标行数后,输出为居中对齐的紧凑星型金字塔,每行星号数量为2i-1个,缩进量随行数逐行递减,完全匹配目标输出样式。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.29 08:06:03