安利儿童蛋白粉价格:一道C++编程作业,,希望高手解答一下,急救!!!

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 04:47:39
把一张一元纸币换成一分,二分和五分的硬币,假如每种至少一枚,问有多少种换法, 编程将各种换法显示出来(希望高手写一下源代码0

测试通过

#include "stdafx.h"
#include "iostream.h"

void main()
{
int index = 0;
for (int i = 0; i <= 20; i++)//5分最多20个
{
for (int j = 0; j <= (100-5*i)/2; j++)//2分最多(100-5*i)/2个
{
for (int k = 0; k <= 100-5*i-2*j; k++)//1分最多100-5*i-2*j个
{
if (i*5+j*2+k == 100)//如果加起来是1元
{
cout<<"第"<<++index<<"种方案为:";//输出方案
cout<<" 5分:"<<i<<"个 2分:"<<j<<"个 1分:"<<k<<"个\n";
}
}
}
}
cout<<"共有"<<index<<"种方案";//输出总方案种数
}

我刚在学C,还没学C++,要不要我用C写了给你。
//把一张一元纸币换成一分,二分和五分的硬币,假如每种至少一枚,问有多少种换法, 编程将各种换法显示出来
void main()
{
int one,two,five,index=0;
for(one=1;one<100;one++)
for(two=1;two<=50;two++)
for(five=1;five<=20;five++)
{
if(one*1+two*2+five*5==100)
{
printf("第%d种方安:1分%-6d2分%-6d5分%-6d\n",++index,one,two,five);

}
}
printf("一共有%d种方法.\n",index);

}

int x,y,z;
for (x=1;x<100;x++)
{
for (y=1;y<100;y++)
{
for (z=1;z<100;z++)
{
if(x + 2*y + 5*z == 100)
{
//System.Console.WriteLine("\t{0}\t{1}\t{2}",x,y,z);
cout << x <<" "<<y<< " "<<z;
break;
}
}
}
}

用C#写的,跟C++区别不打,打印语句改成cout了,不知道对不对,毕业以后一直没有再用过C++了。算法很简单,不知道和你的意思是不是一样的?