java程序
Java程序(elipse)来编程:顾客买东西,付费total(100元),消费sale(<100),给出所有找钱的方案,并找出最佳方案。找零的面值为10元,5元,1元。 --------------------编程问答-------------------- 上学的时候做过一个百钱买百鸡,和你这个差不多,用的是多层循环,呵呵 --------------------编程问答-------------------- --------------------编程问答----------------------------------------编程问答-------------------- 我只是随便写了一个最佳的。 --------------------编程问答-------------------- public void getRank(int n){
public static void main(String[] args) {
double[] rmb = { 10, 5, 1 };// 定义找零的面额,可以从100写到0.1
double sale = 88; // 消费
double total = 100; // 付费
double change = total - sale; // 找零金额
for (double i : rmb) {
while (i <= change) {
System.out.println(i);
change -= i;
}
if (change == 0) break;
}
}
//n为消费
int i;
int j;
int k;
for(i=0;i<10;i++){
for(j=0;j<20;j++){
if(100-n-10*i-5*j>=0){
k=100-10*i-5*j-n;
System.out.print(i+",");
System.out.print(j+",");
System.out.println(k);
}
}
}
} --------------------编程问答-------------------- --------------------编程问答-------------------- import java.util.Scanner;
// 关于如何是最佳找钱的方法
public class first {
/**
* @param args
*/
public static void main(String[] args) {
double a[] = {50,20,10,5,1,0.5,0.1};
System.out.println("输入消费金额:");
Scanner sc = new Scanner(System.in);
double money = sc.nextDouble();
double total =100;
if(money>total||money <0){
System.out.println("输入有误!");
}else{
double onlymoney = total-money;
System.out.println("最佳找钱方法:");
for(int i=0;i<a.length;i++){
int count = (int) (onlymoney/a[i]);
if(count>=1){
for(int j=1;j<=count;j++){
System.out.println(a[i]);
}
onlymoney =onlymoney -a[i]*count;
}
}
}
}
} --------------------编程问答-------------------- 何为最佳 --------------------编程问答-------------------- 这个不错 +1 --------------------编程问答--------------------
最佳,最佳就是买了11元的商品,给你101元,程序可以计算出最少找零的张数,不是90张1元的,而是一张50,2张20。
补充:Java , Eclipse