析取整數各位數字
#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(521, 3, 2)<<endl;
getchar();
return 0;
}
#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(521, 3, 2)<<endl;
getchar();
return 0;
}
posted on 2011-10-25 15:19 chxzwj 閱讀(428) 評論(0) 編輯 收藏 引用 所屬分類: 常用算法