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

C语言如何按指定对齐规则格式化输出符合要求的数字表格

问题原因&修改方案

你当前代码存在两处不符合要求的问题:

  • 冒号后的步数值没有设置左对齐占5位的格式:C语言printf中用-标识左对齐,数字标识占位宽度,把原来的%d改成%-5d即可满足左对齐占5个空格宽度的要求。
  • 换行逻辑偏差:当前判断条件i>0 && i % 7 == 0会导致每行打印8个元素,调整为(i + 1) % 7 == 0即可实现每打印7个元素换行,每行元素数量统一。

修改后的完整代码

void makeTable(int start, int end) {
  for(int i = 0; i <= end - start; i++) {
    printf("%5d:%-5d", i + start, hofpo(i + start));
    // 每7个元素换一行
    if ((i + 1) % 7 == 0) {
      printf("\n");
    }
  }
  printf("\n");
}

效果说明

修改后输出的每个条目都会严格遵循格式要求:比如首数字为3、步数值为7的条目会输出为 3:7 ,完全匹配规则要求。

内容的提问来源于stack exchange,提问作者just a user

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:45:03