将int的数字分隔为独立的int

时间:2018-09-18 07:15:07

标签: c++ performance int runtime digits

理想情况下,我想说一句... 13647像这样拆分它:

第一个新变量(int)是第一位数字。 第二个是前两位数字。 第三个是前三个数字... 等等等等。

在维护高效运行时,我很难弄清楚该怎么做。谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以尝试以下操作:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

int main()
{
    int i = 0;
    int num = 13647;
    char inArr[20];
    itoa(num, inArr, 10);
    int numArr[strlen(inArr)];

    for(i = 0; i < strlen(inArr); i++) {
        numArr[i] = num/pow(10, strlen(inArr) - i - 1);
        printf("num[%d] = %d\n", i, numArr[i]); 
    }
    return 0;
}

输出将是:

num[0] = 1
num[1] = 13
num[2] = 136
num[3] = 1364
num[4] = 13647