C++编程如何去除10及以上数字的前置0,仅1-9保留前置0
C++代码修正方案
问题原因
现有代码固定给每个数字前拼接0,所以10及以上的数字会出现多余的前置0,同时还存在两处不符合预期的问题:输出开头会多一个多余的.、没有按10个数字为一行换行。
修正后代码
#include <iostream> using namespace std; int main() { int b; cin >> b; if (b > 100 || b < 1){ cout << "OUT OF RANGE"; } else { for (int a = 1; a <= b; a++){ if (a != 1) { cout << "."; } if (a < 10) { cout << "0" << a; } else { cout << a; } if (a % 10 == 0) { cout << endl; } } } return 0; }
关键修改说明
- 新增数字大小判断:仅当数字小于10时补充前置0,10及以上直接输出原数字,解决多余前置0的问题
- 调整分隔符输出逻辑:仅非第一个数字前输出
.,避免开头出现多余的点 - 新增换行逻辑:每输出10个数字触发一次换行,和示例输出格式对齐
- 补充输入小于1的边界判断,过滤无效输入
内容的提问来源于stack exchange,提问作者Hyuyeong
相关产品推荐
相关产品推荐

