c语言编程用一元人民币换成1分,2分,5分的兑换方案

c语言编程用一元人民币换成1分,2分,5分的兑换方案
有一个错误 但是我找不到

#include<stdio.h>

main()
{
float x=1.0;
float a=0.01,b=0.02,c=0.05;
int i,j,k;
int count=0;//记录方案个数
for(i=0;i<100;i++)
for(j=0;j<50;j++)
for(k=0;k<20;k++)
if((i*a+j*b+k*c)==1)
printf("方案%d: %d张1分 %d张2分 %d张5分 \n",count++,i,j,k);
getch();
}
//用最方便的方法,穷取法
//可能我和你的编译器不同,所以有误
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-27
#include <stdio.h>
#include <conio.h>
int main()
{
int a,b,c,n=1;
for(a=0;a<=10;a++)
for(b=0;b<=5;b++)
for(c=0;c<=2;c++)
{
if(a*1+b*2+c*5==10)
printf("%d %d一分%d二分%d五分\n",n++,a,b,c);
}
getch();
return 0;
}
第2个回答  2018-06-15
private void Calculate()
{
int a, b, c;
int t = 0;
for (a = 0; a <= 20; a++)
{
for (b = 0; b <= (100 - 5 * a) / 2; b++)
{
c = 100 - 5 * a - 2 * b;
if (IsInt(c.ToString()))
{
if ((a * 5 + b * 2 + c * 1) == 100 && a >= 1 && b >= 1 & c >= 1)
{
if (a == 5 && b == 37 && c == 1)
{
int x = 0;
}
Console.WriteLine(": " + a.ToString() + " : " + b.ToString() + " : " + c.ToString());
t++;
}
}
}
}
Console.WriteLine("共计 " + t.ToString() + " 种方法");
}
public bool IsInt(string str)
{
bool bResult = false;
bResult = Regex.IsMatch(str, "^[0-9]+$");
return bResult;
}
相似回答