帮小黎解决问题C++巩固获得数字每个位置上的数
现在有一个数字 a= 12345;
想要取得这个数字上的没一个数字 使用 除法 +模除 的方法可以获得
原理:除(/)得到的是商 模除(%)的到的是余数
采用这种方式,先将要求的数的某一位 除以它的进制位数(个十百千)再模除以进制单位 即可
公式: a/(要取得的数字的进制位数)%10
如:
万位:12345/10000%10 = 1;
千位:12345/1000%10 = 12%10 = (1...2) = 2;
百位:12345/100%10 = 123%10= (12.....3) = 3;
十位:12345/10%10 = 1234 %10=(123.....4) =4;
个位:12345/1%10 = 12345%10 =(1234...5) =5;
1 #include <iostream> 2 using namespace std; 3 int main(){ 4 int i; 5 int a,b,c,d; 6 7 for(i=50;i<=1000;i++){ 8 a = i/1%10; 9 b = i/10%10; 10 c = i/100%10; 11 12 if((a+b+c) == 5){ 13 d=i; 14 cout<<"和为5的数有:"<<d<<endl; 15 } 16 } 17 18 return 0; 19 }
每个数字本身 模除 比自己大的数的时候 等于其本身 进制中的进位数是最大的 i%i =0;