「1.5.28 分离整数的各个位数」通过C++实现。
题干:
给定一个整数n(1<=n<=100 000 000),要求从个位开始分离出它的每一位数字。
从个位开始按照从低位到高位的顺序依次输出每一位数字。
思路:
运用到,分离各个数位上的数的知识,假定一个整数m,那么分离其个位上的数字,用m%10,
其十位上的数字(m/10)%10,如要求其十位以上的数字,其方法就是每次迭代m的值,并再
%10(会在代码中演绎)。首先开始的变量声明,先设置一个要输入值的变量,再声明一个很快
要用到的变量,如果还有要用的变量,走一步看一步lo。
代码:
1 #include <iostream> 2 3 using namespace std; 4 5 int main(){ 6 7 int n,a,b; 8 cin>>n; 9 int i; 10 for ( i = 1; i <= 10 ; ++i) { 11 if ( i == 1){ 12 a = n % 10; //按照题干要求,首先输出最低位的数,即个位的数,over 13 cout<<" "<<a; 14 } 15 n /= 10; //更新n的值,假设一个数是233,233 / 10 = 23 n的值更新为 23 再 求模(%10) 为 3,输出。如此反复就okay了。 16 b = n % 10; //照应上述。 17 if ( b != 0){ 18 cout<<" "<<b; 19 } else{ 20 break; //break 有跳出循环的作用,虽然循环条件是 i <= 10,但是不需要那么多,只求能把各个位的数输出完毕就行(可能你「那本书」没有讲)。 21 } 22 } 23 return 0; 24 }
>>369 :INPUT
>> 9 6 3 :OUTPUT

浙公网安备 33010602011771号