求助:这个编程要求是“某人有8角的邮票5张,1元的邮票4张,1元8角的邮票6张,用这些邮票中的一张或若干张可以得到多少种不同的邮资? ”,我编出的程序如下:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
void main()
{
vector<double> money;
double temp;
for(int i=0;i<=5;i++)
for(int j=0;j<=4;j++)
for(int k=0;k<=6;k++)
{
temp=0.8*i+j+1.8*k;
money.push_back(temp);
}
//去除重复元素
sort(money.begin(),money.end());
vector<double>::iterator end_uni= unique(money.begin(),money.end());
money.erase(end_uni,money.end());
cout<<"money中元素个数:"<<money.size()<<endl;
for(int x=0;x<money.size();x++) //输出money中的元素
cout<<money[x]<<" ";
cout<<endl;
}
但是大家看结果的话,可以看出有以下元素重复了: 6.4 6.8 7.4 7.8 8.2 8.6 9.6 10.6 11.6 12.6 13.2 13.6 14.2 14.6 15.2 16.2,正确的答案应该是money中含83个元素;
神不在的星期二
相关分类