//Hello! 本文带你在拆位计算的基础上,解决相关题目!
一、问题分析
题目要求实现以下功能:从键盘输入一个三位正整数,分别提取其个位、十位和百位数字,找出其中的最大值和最小值,最后计算这两个值的差值。
此题目需理解拆位计算,一步一步有序分析。
二、代码实现
look:
#include <iostream>
using namespace std;
int main() {
int n,b,s,g,big,small;
cin>>n;
b=n/100; //百位
s=n/10%10;//十位
g=n%10; //个位
if(b>s&&b>g){
big=b;
}
else if(s>g){
big=s;
}
else{
big=g;
}
if(b<s&&b<g){
small=b;
}
else if(s<g){
small=s;
}
else{
small=g;
}
cout<<big-small;
return 0;
}
只有条理清晰,此题才能成功!
三、代码解释
-
变量定义与输入
定义多个整型变量,使用cin
从键盘读取用户输入的三位正整数n
。 -
拆位计算
- 百位数字:
n / 100
- 十位数字:
(n / 10) % 10
- 个位数字:
n % 10
- 百位数字:
-
寻找最大值
通过if-else if-else
结构,比较三个数字的大小,确定最大值big
。 -
寻找最小值
同样使用if-else if-else
结构,比较三个数字的大小,确定最小值small
。 -
结果输出
计算并输出最大值与最小值的差值。成功输出!