解题思路:

注意事项:先取100面额的人民币,再依次降低面额

参考代码:

import java.util.Scanner;


public class Main {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

while (true) {

int[] a = new int[100];// 定义一个长度为100的整形数组

int x = sc.nextInt();

if (x == 0)

break;

else

for (int i = 0; i < x; i++) {

a[i] = sc.nextInt();

} // 输入数组的值


System.out.println(gs(a, x));// 调用方法求出最少需要的人民币张数

}

}


public static int gs(int[] a, int x) {

int s = 0;

for (int i = 0; i < x; i++) {

s = s + a[i] / 100 + a[i] % 100 / 10 + a[i] % 10 / 5 + a[i] % 5 / 2 + a[i] % 2 / 1;// 先去最大面额的人民币,依次递减,直到结束

}

return s;

}

}



点赞(1)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论