基础知识
一、拆位原理
- 除法运算符 / 的拆位用法
在拆位中,我们可以用除法运算符 / 来获取一个数字的高位部分。具体来说,就是用这个数字去除以一个适当的倍数(通常是10的幂),得到的商就是高位部分。
例如,假设我们有一个数字n = 1234,我们想要获取它的百位及以上的部分,就可以用n除以100:
int n = 1234;
int high = n / 100; // 1234 / 100 = 12
cout << "百位及以上的部分是: " << high << endl;
输出结果将是:
百位及以上的部分是: 12
同理,如果我们想获取千位及以上的部分,就可以用n除以1000:
int n = 1234;
int high = n / 1000; // 1234 / 1000 = 1
cout << "千位及以上的部分是: " << high << endl;
输出结果将是:
千位及以上的部分是: 1
- 取余运算符 % 的拆位用法
在拆位中,我们可以用取余运算符 % 来获取一个数字的低位部分。具体来说,就是用这个数字去除以一个适当的倍数(通常是10的幂),得到的余数就是低位部分。
例如,假设我们有一个数字n = 1234,我们想要获取它的十位及以下的部分,就可以用n除以100的余数:
int n = 1234;
int low = n % 100; // 1234 % 100 = 34
cout << "十位及以下的部分是: " << low << endl;
输出结果将是:
十位及以下的部分是: 34
同理,如果我们想获取个位,就可以用n除以10的余数:
int n = 1234;
int low = n % 10; // 1234 % 10 = 4
cout << "个位是: " << low << endl;
输出结果将是:
个位是: 4
总结一下,在拆位中:
- 除法运算符 / 用于获取高位部分
- 取余运算符 % 用于获取低位部分
二、课堂练习
课堂练习1:用除法拆位
题目:请编写一个程序,从控制台读取一个4位数,将其拆分为千位和百位的数字并输出。
输入格式:一个4位数
输出格式:
千位是: X
百位是: Y
示例输入:
1234
示例输出:
千位是: 1
百位是: 2
学生需要完成的任务:
- 使用cin读取一个4位数
- 用除法运算符 / 拆出千位和百位
- 使用cout输出结果,格式如上所示
课堂练习2:用取余拆位
题目:请编写一个程序,从控制台读取一个3位数,将其拆分为个位、十位和百位的数字并输出。
输入格式:一个3位数
输出格式:
个位是: X
十位是: Y
百位是: Z
示例输入:
123
示例输出:
个位是: 3
十位是: 2
百位是: 1
学生需要完成的任务:
- 使用cin读取一个3位数
- 用取余运算符 % 拆出个位、十位和百位
- 使用cout输出结果,格式如上所示
三、解析
例题1:用除法拆位(cin输入版)
题目:请从控制台输入一个4位数n,将其拆分为千位和百位的数字。
示例代码:
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入一个4位数: ";
cin >> n;
int qian = n / 1000; // 拆出千位
int bai = (n / 100) % 10; // 拆出百位
cout << "千位是: " << qian << endl;
cout << "百位是: " << bai << endl;
return 0;
}
输出结果(假设用户输入了1234):
请输入一个4位数: 1234
千位是: 1
百位是: 2
例题2:用取余拆位(cin输入版)
题目:请从控制台输入一个3位数n,将其拆分为个位、十位和百位的数字。
示例代码:
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入一个3位数: ";
cin >> n;
int ge = n % 10; // 拆出个位
int shi = (n / 10) % 10; // 拆出十位
int bai = n / 100; // 拆出百位
cout << "个位是: " << ge << endl;
cout << "十位是: " << shi << endl;
cout << "百位是: " << bai << endl;
return 0;
}
输出结果(假设用户输入了123):
请输入一个3位数: 123
个位是: 3
十位是: 2
百位是: 1
标签:1234,10,cout,int,练习,课件,百位,拆位
From: https://blog.csdn.net/m0_46192147/article/details/139765041