C语言中怎么将一个整形数组转化为一个float或者int类型数字比如 int a[5]={1,2,

C语言中怎么将一个整形数组转化为一个float或者int类型数字比如
int a[5]={1,2,3,4,5};
int k;
转化后就是
k=12345

int convert(int a[],int n) //n为数组元素个数
{
    int i,sum;
    for(i=0,sum=0;i<n;i++)
    {
        sum*=10;
        sum+=a[i];
    }
    return sum; //将结果返回给指定的整型变量
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-05

为啥不直接存到char 数组呢?

#include <stdio.h>
#include <math.h>
int main()
{
int a[5]={1,2,3,4,5};
int k=0,i=0,len=0,tmp=0;
len = sizeof(a)/sizeof(a[0]);
for (i=0;i<len;i++)
{
k += a[i]*(int)pow(10,len-i-1);
}
printf("k=[%d]\n",k);
return 0;
}
k=[12345]
Press any key to continue


float你怎么办?小数点也存int数组里吗?

第2个回答  推荐于2018-03-05
int a[5]={1,2,3,4,5};
int k,i;
for(k=i=0;i<5;i++)
k=k*10+a[i];
printf("%d\n",k);本回答被提问者和网友采纳
第3个回答  2018-03-05

如果遇到int a[]={1,2,99,5}你想怎么整合?

变成12995?

我给你说思路,好久没用过C了,具体语法都忘了,这样,你把数组里面的数据追加到字符串里面.

int a[]={1,2,99,5};
String str="";
for(int i=0;i<a.length;i++){
    str+=a[i];//也可能str+=a[i]+"",我忘记具体语法了,你试试,我就说个思路
}

现在的str里面就装着字符类型的"12995"了

然后

int new_a=atoi(str);//这个函数是尝试将字符串"1234"转变为整数型1234

需要注意,一般这类函数都有异常的可能,万一你给的字符串无法转换,会报异常,你捕获一下.

解释清晰么?