【例21.2】 判断整数位数
判断整数位数:不多于 5 位
正文
// 原题:https://oj.yecheng.tv/p/P122
// 题意:给定一个不多于 5 位的整数,输出它的位数。
// 思路:先取绝对值去掉负号,再从万位往下逐段判断:
// ≥10000 是 5 位数,≥1000 是 4 位数……
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
// 负数按绝对值判断位数
if (n < 0) n = -n;
if (n >= 10000) {
cout << 5 << endl;
} else if (n >= 1000) {
cout << 4 << endl;
} else if (n >= 100) {
cout << 3 << endl;
} else if (n >= 10) {
cout << 2 << endl;
} else {
// 只剩 1 位数
cout << 1 << endl;
}
return 0;
}
C++语法 · 条件判断的其它内容
- 【例15.1】 整型与布尔型的转换
- 【例15.2】 偶数
- 【例15.3】 最大数输出
- 练15.1 其他数据类型存储空间大小
- 练15.2 智商问题
- 练15.3 最大的数
- 【例16.1】 判断数正负
- 【例16.2】 开灯
- 【例16.3】 收费
- 练16.1 跳绳达人
- 练16.2 奇偶数判断
- 练16.3 选择题判定
- 【例17.1】 双面打印
- 【例17.2】 蜗牛爬行
- 【例17.3】 内功逼毒
- 练17.1 奇偶ASCII值判断
- 练17.2 公园门票
- 练17.3 比大小
- 【例18.1】 睡眠
- 【例18.2】 孔融让梨
- 【例18.3】 卡牌游戏
- 练18.1 还要等多久
- 练18.2 苹果和虫子
- 练18.3 组别判断
- 练18.4 计算邮资
- 【例19.1】 鸡兔同笼
- 【例19.2】 判断身材
- 【例19.3】 田忌赛马
- 练19.1 整数大小比较
- 练19.2 三个数
- 练19.3 比大小
- 练19.4 骑车与走路
- 练19.5 判断生肖
- 【例20.1】 范围判断
- 【例20.2】 收集瓶盖赢大奖
- 【例20.3】 0与1
- 练20.1 适合晨练
- 练20.2 判断是否为两位数
- 练20.3 开灯关灯
- 练20.4 判断点在第几象限
- 练20.5 点和正方形的关系
- 【例21.1】 定制毕业服
- 【例21.3】 字符类型判断
- 练21.1 年龄段判断
- 练21.2 邮寄包裹
- 练21.3 神奇装置
- 练21.4 体质指数BMI
- 练21.5 打车费用
- 【例22.1】 有一门课不及格的学生
- 【例22.2】 整除相乘
- 【例22.3】 回文数
- 练22.1 闰年与平年
- 练22.2 欧耶欧耶
- 练22.3 爱你爱你
- 练22.4 三角形判断
- 【例23.1】 后天星期
- 【例23.2】 这个月有几天
- 【例23.3】 简单计算器
- 练23.1 成绩等级
- 练23.2 王宅六味