帮小黎解决问题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 }
View Code

 

每个数字本身 模除 比自己大的数的时候 等于其本身  进制中的进位数是最大的   i%i =0;

posted @ 2015-03-18 11:59  0xcafedaddy  阅读(274)  评论(0编辑  收藏  举报