问题 传阵列int ten[6]={1,1,1,0,0,1};到函式里转10进次 每次都出现4246800 数字部会这麼大 不知道哪里出错了 帮忙看
#include <iostream> // 含括iostream档案
#include <cstdlib> // 含括cstdlib档案
using namespace std; // 使用std名称空间
int square(int x , int y) ;
int two2ten(int ten[], int n) ;
int main(void)
{
int sum1=0,ten1=0 ;
int ten[6]={1,1,1,0,0,1};
// sum1=square(5,3) ;
//cout<<sum1<<endl ;
ten1=two2ten(ten,6) ;
cout<<ten1 ;
system("pause");
return 0;
}
int square(int x, int y)
{
int i,pow=x ;
for(i=1;i<y;i++)
{
pow = pow * x;
}
return pow ;
}
int two2ten( int ten[],int n)
{
int i,sum;
for(i=0;i<n;i++)//i=ten[i]长度 n=次方数
{
if(ten[i]==1)//如果ten阵列中有1数字
sum = sum + square(2,n-1-i); //当i=0 5次方 ,i=1 4次方 ,i=2 3次方,i=3 2次方,i=4 1次方,,i=5 0次方
return sum ;
}
}
#include <iostream> // 含括iostream档案
#include <cstdlib> // 含括cstdlib档案
using namespace std; // 使用std名称空间
int square(int x , int y) ;
int two2ten(int ten[], int n) ;
int main(void)
{
int sum1=0,ten1=0 ;
int ten[6]={1,1,1,0,0,1};
// sum1=square(5,3) ;
//cout<<sum1<<endl ;
ten1=two2ten(ten,6) ;
cout<<ten1 ;
system("pause");
return 0;
}
int square(int x, int y)
{
int i,pow=x ;
for(i=1;i<y;i++)
{
pow = pow * x;
}
return pow ;
}
int two2ten( int ten[],int n)
{
int i,sum;
for(i=0;i<n;i++)//i=ten[i]长度 n=次方数
{
if(ten[i]==1)//如果ten阵列中有1数字
sum = sum + square(2,n-1-i); //当i=0 5次方 ,i=1 4次方 ,i=2 3次方,i=3 2次方,i=4 1次方,,i=5 0次方
return sum ;
}
}