题目我没怎么看懂,比如说你写的i+j+l==k,那题目中的40放在哪里?
另外我要说的一个大问题,也是就是float的用法,float的值是小数,电脑的算法是近似值。
举个例子,
float a = 1;
b = a/10;
按道理b此时是0.1,但是你输出的由于编译器的不同有可能是 0.10000000000001,也有可能是0.09999999999999.也有可能是0.1。当出现这种情况,你的if中的判断就永远不会实现。
所以你的if可以比较大小判断,比如if(x==5)写成((x>4.9999)&&(x<5.00001))或者不要出现float,所有的数值乘以10,把小数去除。
追问
您好,我已经将程序按照您的想法改了,但是现在依旧算不出正确答案。40是总硬币数,k是总钱数,希望您能再帮我看一看