如何在C语言遍历代码中实现第n项(第10项)输出时换行?
实现每10项输出后换行的修改方案
要解决这个问题,你需要添加一个计数器跟踪输出项数,每输出10项就插入换行。具体修改如下:
修改后的代码
#include <stdio.h> int main(void) { int n; int count = 1; // 第一个输出的数算第1项 scanf("%d", &n); printf("%d\t", n); while (n > 1) { if (n % 2 == 1) { n = 3 * n + 1; } else { n = n / 2; } printf("%d\t", n); count++; // 每输出10项就换行 if (count % 10 == 0) { printf("\n"); } } // 处理最后一行不足10项的情况,确保结尾有换行 if (count % 10 != 0) { printf("\n"); } return 0; }
关键说明
- 新增
count计数器,初始值设为1,因为第一个数已经完成输出。 - 每输出一个新数后,计数器自增1。
- 当计数器是10的整数倍时,输出换行符,实现第10、20...项后的换行。
- 最后额外判断一次,如果最后一行的项数不足10,也补充一个换行,保证输出格式规范。
内容的提问来源于stack exchange,提问作者Axi
相关产品推荐
相关产品推荐

