加文

在这个世界上取得成就的人,都努力去寻找他们想要的机会,如果找不到机会,他们便自己创造机会。 -- 萧伯纳
随笔 - 14, 文章 - 56, 评论 - 1, 引用 - 0
数据加载中……

析取整数各位数字

#include <stdio.h>
#include 
<string.h>
#include 
<iostream>
using namespace std;
/* 获取输入数字的索引值,dec指定数字的位数,3代表百位数,order指定需要获取哪一位的索引,1代表个位,2代表十位,3代表百位 */
int get_index(int num, int dec, int order)
{
    
int i, j, n;
    
int index;
    
int div;
    
/* 根据位数,循环减去不需要的高位数字 */
    
for (i=dec; i>order; i--
    {
        n 
= 1;
        
for (j=1; j<dec; j++)
            n 
*= 10;
        div 
= num/n;
        num 
-= div * n;
        dec
--;
    }
    
/* 获得对应位数的整数 */
    n 
= 1;
    
for (i=0; i<order-1; i++)
        n 
*= 10;
    
/* 获取index */
    index 
= num / n;
    
return index;
}
int main(int argc, char *argv[])
{
    cout
<<get_index(52132)<<endl;
    getchar();
    
return 0;
}

posted on 2011-10-25 15:19 chxzwj 阅读(421) 评论(0)  编辑 收藏 引用 所属分类: 常用算法


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理