【发布时间】:2019-05-23 07:43:08
【问题描述】:
我是一名新程序员,想从数字列表 (2,5,8) 中生成 3 位数字数组。我创建了一个代码,但输出不是我的预期结果。这是我的简单代码:
int main()
{
int arr[3]={2,5,8};
int d=3;
int times=1;
for (int a:arr){
int sum = a;
for (int i=1; i<d; i++){
times *= 10;
sum += a*times;
}
cout<<sum<<endl;
sum=0;
}
return 0;
}
我预期的结果是 222,555 和 888,但实际输出是 222,55005 和 8800008。
【问题讨论】:
-
你忘了重置
times,把times = 1;放在你的外循环中。 -
您不应该为数组中的每个数字重置
times变量吗? -
@vahancho 是的,我不应该重置
times变量。谢谢你提醒我。 -
@Blaze 你说得对,我忘记了。谢谢你提醒我。
-
@jowwyss79 没问题,很高兴它有帮助。 Raffallo 将其包装成一个答案,因此请确保对其进行投票并将其选为接受的答案。
标签: c++ arrays numbers generate