gpt4 book ai didi

c中的连接整数数组

转载 作者:行者123 更新时间:2023-11-30 15:51:20 24 4
gpt4 key购买 nike

我在尝试将一组整数连接成一个数字时遇到了一些麻烦。我知道如何使用单位数字(下面的代码)执行此操作,但是如果我提示用户输入 5 个数字,而他们输入了 12、345、552、126、44,该怎么办?我需要开发一种算法,该算法将用户输入并将其连接起来形成一个整数,例如 1234555212644

#include<stdio.h>

int main(void)
{

int num[3]={1, 2, 3}, n1, n2, new_num;

n1 = num[0] * 100;
n2 = num[1] * 10;

new_num = n1 + n2 + num[2];

printf("%d \n", new_num);

return 0;
}

输出:123

提前致谢。

最佳答案

如果您只想打印整数,@dreamlax 的建议是有意义的,但如果您简化了问题并且实际上您想要实际的整数,则可以使用对数来确定一个数字有多少位数量有:

int concat(int* arr, size_t len)
{
int result = 0;

for (int i = 0; i < len; i++)
{
int digits = floor(log10(arr[i])) + 1;
result *= pow(10, digits);
result += arr[i];
}

return result;
}

这是an Ideone.com demo .

然而,事实上,您很快就会用完空间来存储如此大的整数。如果您需要存储这么大的整数,您可能需要考虑使用 char 数组并使用 sprintf在循环中连接数字,或 stringstream .

关于c中的连接整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15192221/

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