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
相关产品推荐
相关产品推荐

