将Int中的数字分成单独的Ints [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

理想情况下,我想采取说... 13647的int并将其拆分为:

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

我在确保如何完成这项工作时遇到了麻烦,同时保持了高效的运行时间。谢谢您的帮助!

c++ performance int runtime digits
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.