
【分析问题】
这是一个数字反转和比较大小的问题:
- 输入:小明的年龄 n(两位数)
- 要求:将 n 的数字反转得到小王的年龄,然后比较两人年龄的大小
- 核心逻辑:提取 n 的十位和个位数字,然后交换位置组成新数字
- 计算方法:小王的年龄 = (n的个位) × 10 + (n的十位)
- 输出:两人年龄中的较大值
【建立模型(伪代码)】
读取小明的年龄 n
提取十位数字:tens = n / 10
提取个位数字:ones = n % 10
计算小王年龄:xw= ones * 10 + tens
比较 n(小明) 和 xw(小王),取较大值
输出较大值
【编写代码】
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int xm=n; //小明是输入的数值
// 提取十位和个位数字
int shiwei= n / 10; // 十位数
int gewei= n % 10; // 个位数
// 计算反转后的年龄
int xw= gewei * 10 + shiwei;
// 比较两个年龄,取较大值
int max_age = xm; //max 最大 ;age 年龄
if(max_age < xw){
max_age =xw;
}
cout << max_age << endl;
return 0;
}
【保存编译运行】