以下是一个C++代码示例,展示如何提取一个千位以内数的千、百、十、个位的值:
#include <iostream>
#include <array>
std::array<int, 4> extractDigits(int number) {
std::array<int, 4> digits = {0, 0, 0, 0}; // 初始化一个大小为4的数组,用于存储千、百、十、个位的值
if (number < 0 || number > 9999) {
std::cerr << "Number must be between 0 and 9999." << std::endl;
return digits;
}
digits[0] = number / 1000; // 提取千位数字
number %= 1000; // 去掉千位数字,更新number
digits[1] = number / 100; // 提取百位数字
number %= 100; // 去掉百位数字,更新number
digits[2] = number / 10; // 提取十位数字
digits[3] = number % 10; // 提取个位数字
return digits;
}
int main() {
int number = 1234; // 示例数字,可以替换为其他千位以内的数字
std::array<int, 4> digits = extractDigits(number);
std::cout << "Thousand: " << digits[0] << std::endl;
std::cout << "Hundred: " << digits[1] << std::endl;
std::cout << "Ten: " << digits[2] << std::endl;
std::cout << "One: " << digits[3] << std::endl;
return 0;
}
这段代码定义了一个extractDigits
函数,该函数接受一个整数作为输入,并返回一个包含千、百、十、个位数字的数组。在main
函数中,我们调用extractDigits
函数并打印出各个位的数字。请注意,这段代码假设输入的数字在0到9999之间。如果数字超出这个范围,程序会输出一条错误信息并返回一个全零的数组。你可以根据需要调整这个数字范围。