gpt4 book ai didi

c - 接受 int 并转换为数组的函数向后插入值?

转载 作者:太空狗 更新时间:2023-10-29 15:24:44 25 4
gpt4 key购买 nike

所以我有一个函数,它接受一个数字,假设是 123 用于测试目的,然后通过将每个数字插入数组中的一个位置来将其转换为数组。我的问题是:它是倒退的。所以在这种情况下 123 将打印为 321。关于如何更改它有什么想法吗?

int i = 0;

while (number) {
array[i] = number % 10;
number /= 10;
printf("%llu", array[i]);
i++;
}

最佳答案

那是因为您要取数字和 10 之间的除法余数,所以您要取最后一位插入数组的第一个位置,依此类推。

你可以创建一个递归函数来按照你想要的方式填充数组。尝试这样的事情:

void
fillArray (int array[], int *i, int number) {
if (number < 10 ) {
array[*i] = number;
*i = *i +1;
} else {
fillArray (array, i, number/10);
array[*i] = number%10;
*i = *i +1;
}
}

最后,在 i 中你将得到数组的大小。您应该这样调用该函数:

int array[100];
int i = 0;
int n = 123;
fillArray (array,&i,n);

关于c - 接受 int 并转换为数组的函数向后插入值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12443444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com