找出计算金额所需的硬币数量,以便需要最少量的硬币。硬币的价值为1,3和5。 这个代码怎么了?
#include<iostream>
using namespace std;
int main()
{
int i,j,sum,coins[]={1,3,5}, min[sum];
cin>>sum;
for(i=0;i<=sum;i++)
min[i]=999;
min[0]=0;
for(i=1;i<=sum;i++)
{
for(j=0;j<3;j++)
{
if((coins[j]<=i) && ( (min[i-coins[ j ]] + 1) < min[i] ))
{
min[i]=min[i-coins[j]] +1;
cout<<i<<"="<<min[i];cout<<endl;
}
}
}
cout<<min[sum];
return 0;
}
答案 0 :(得分:0)
在初始化之前,您要设置数组min
的大小sum
。
应该在cin >> sum
之后。
作为建议,最好分别声明和初始化数组。