c - 如何在 C 中将整数拆分为单独的多位整数?

标签 c arrays loops split integer

我正在尝试自学 C。我试图将一个整数拆分为多个单独的整数,例如12345 变成 12、34 和 5,但我找不到办法做到这一点。

我已经了解一些 Java 和编程基础知识。我是否需要使用某种 do-while 或 for 循环来执行此操作,或者我可以使用整数数组吗?

最佳答案

这动态地完成了您正在寻找的东西!您可以设置任何类型的拆分。 2-2-4 或 3-4-5 或任何阵型。 (你基本上可以从用户那里得到一个数字字符串并完成这个任务,如果你以后愿意的话,把临时字符串变成一个整数):

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

int main() {
    int i; //Counter

    char getStr[100];
    int NumberToSplit1, NumberToSplit2, NumberToSplit3;

    printf("Enter a number: ");
    scanf("%s", getStr);    //get it as a string
    //or you can use scanf("%[^\n], getStr);

    printf("How many number splits you want: ");
    scanf("%d %d %d", &NumberToSplit1, &NumberToSplit2, &NumberToSplit3);

    printf("\n%d-%d-%d split: \n", NumberToSplit1, NumberToSplit2, NumberToSplit3);

    for (i = 0; i < NumberToSplit1; i++) {
        printf("%c", getStr[i]);
    }
    printf("\n");
    for (i = NumberToSplit1; i < (NumberToSplit1+NumberToSplit2); i++) {
        printf("%c", getStr[i]);
    }
    printf("\n");
    for (i = (NumberToSplit1+NumberToSplit2); i < (NumberToSplit1+NumberToSplit2+NumberToSplit3); i++) {
        printf("%c", getStr[i]);
    }

    //If you want to save it in an integer, you can use strcat function to save the temp 2 numbers in a string convert that to integer

    //or use http://stackoverflow.com/questions/7021725/converting-string-to-integer-c

    printf("\n");
    printf("\n");

}

输出:

Enter a number: 12345
How many number splits you want: 2 2 4

    2-2-4 split: 
    12
    34
    5

Program ended with exit code: 0

关于c - 如何在 C 中将整数拆分为单独的多位整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32937864/

相关文章:

c - 如何使用最少的 c 语言库跟踪鼠标输入

php奇怪的行为访问数组

java - 比较java中同一个数组的元素

c++ - 在两个四元数之间插值很长

c - 识别C文件的版本

python - 嵌套数组的最小值(可能部分为空)

javascript - Array.Prototype ForEach 在递归函数中等待回调函数返回

php - 在 WooCommerce 中获取并展示相关产品

javascript - 使用 javascript 迭代子对象并获取所有值

自定义内核 : Implement filesystem