好的我想改变int tab [4] = {1,2,3,4}的数量;到1234号,我的代码有什么问题?它显示了我1232
int main()
{
int iloscliczb = 4;
int tab[4] = {1, 2, 3, 4};
int j = 10;
int zmienna = 0;
for( int z = 1, i = 0, k = 2; z < iloscliczb; z++, i++, k++)
{
zmienna = zmienna + ( tab[iloscliczb - k] * j );
j = pow(10, z+1);
}
zmienna = zmienna + ( tab[iloscliczb - 1] );
cout << zmienna << endl;
return 0;
}
答案 0 :(得分:1)
我认为你已经过度复杂了。从0开始,做10 ^((n-1)-i)的幂。像这样......
int n = 4; // the number of elements in the arr.
int sum = 0;
for(int i = 0; i < n; i++)
sum += (arr[i] * pow(10, (n-1)-i)); // here (n-1) = 3
std::cout << sum;
答案 1 :(得分:0)
更容易 - 更有效率,因为你可以放弃pow()
调用 - 在数组中向后工作:
int sum = 0;
for(int i = std::extent<decltype(arr)>::value; i--; )
(sum *= 10) += arr[i];
std::cout << sum << '\n';