C++循环打印数字图案修改求助:实现数字间带空格的指定输出格式
代码修改方案
你只需要调整两处逻辑即可实现目标输出:
- 调整行首空格的打印数量:因为数字之间多了1个间隔空格,单数字占位从1位变成2位,所以行首空格总数需要调整为原来的2倍
- 打印数字时追加输出1个空格,实现数字分隔效果
修改后的完整代码
#include<iostream> using namespace std; int main(){ int i,j,space,star,n; cin>>n; i=1; while(i<=n){ // 调整前导空格数量为2*(i-1) space=2*(i-1); while(space){ cout<<" "; space--; } j=1; star=n-i+1; while(star){ int num=i+j-1; // 数字后追加空格 cout<<num<<" "; star--; j++; } cout<<"\n"; i++; } return 0; }
效果验证
当输入n=4时,输出结果完全匹配需求:
1 2 3 4 2 3 4 3 4 4
如果不需要每行末尾多余的空格,也可以调整数字打印逻辑,判断是否是当前行最后一个数字,仅在非最后一个数字后加空格即可。
内容的提问来源于stack exchange,提问作者user16233625
相关产品推荐
相关产品推荐

