将 Int 中的数字分隔成单独的整数

Separating Digits in Int into Separate Ints

理想情况下,我想取一个整数...13647 并像这样拆分它:

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

我无法弄清楚如何在保持高效运行时的同时做到这一点。感谢您的帮助!

您可以尝试以下方法:

#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