怎么将一个数组中的数显示成一个数

如何将一个数组中的数显示成一个数
我想把一个数组中的数用一个数表示出来,比如书数组a[4]中a[0]=3,a[1]=7,a[2]=3,a[3]=8,那么我用b表示a[4],则b=3738.不知道这个该怎么做.

------解决方案--------------------
如果数组能加个结束符 '\0 ',
然后用atoi(a)就可以啦。
------解决方案--------------------
sorry 没看清楚你的意思。

你可以把输入的数字以字符串存储,然后直接调用函数atoi(a)输出

你这样的话就根据a的长度来计算吧
int sum = 0;
for(int i = 0; i < n; i++)
{
sum += a[i]* pow(10, n-1-i);
}

------解决方案--------------------
#include <iostream>
#include <cmath>

using namespace std;

int main( )
{
int a[4] = {1,2,3,5};
a[4] = 0;
for (int i = 0;i <4;++i)
{
a[4] += a[i]*pow(10,(3 - i));
}
cout < <a[4] < <endl;
return 0;
}
------解决方案--------------------
yydrewdrew

a[4]越界了
------解决方案--------------------
直接算
----------------------------------------
const size = .. ;
int a[size]; //还要检查是不是0-9

int i=0,mul=1,b=0;
for(i=size-1;i> =0;i--)
{
b+=a[i]*mul;
mul*=10;
}

楼上的方法
-------------------------
char a[size]={ '5 ', '6 ', '7 ', '8 '};  //也要检查

char *s=a;
(*s)+= '\0 ';

int b=atoi(s);
cout < <b < <endl;

return 0;

------解决方案--------------------

int a[4] = { 3, 7, 3, 8};
int b;
stringstream s;
copy(a, a + sizeof(a) / sizeof(a[0]), ostream_iterator <int> (s, " "));

if (s > > b && s.get() == EOF)
cout < < b < < endl;
else
cout < < "error " < < endl;