【Java】练习题(2)
11:计算书费
总时间限制: 1000ms 内存限制: 65536kB
描述
下面是一个图书的单价表:
计算概论 28.9 元/本
数据结构与算法 32.7 元/本
数字逻辑 45.6元/本
C++程序设计教程 78 元/本
人工智能 35 元/本
计算机体系结构 86.2 元/本
编译原理 27.8元/本
操作系统 43 元/本
计算机网络 56 元/本
JAVA程序设计 65 元/本
给定每种图书购买的数量,编程计算应付的总费用。
输入
输入第一行包含一个正整数k(0<k<100),表示有k组测试数据;接下来k行,每行包含一组测试数据。每组测试数据包含10个整数(大于等于0,小于等于100),分别表示购买的《计算概论》、《数据结构与算法》、《数字逻辑》、《C++程序设计教程》、《人工智能》、《计算机体系结构》、《编译原理》、《操作系统》、《计算机网络》、《JAVA程序设计》的数量(以本为单位)。每两个整数用一个空格分开。
输出
对于每组测试数据,输出一行。该行包含一个浮点数f,表示应付的总费用。精确到小数点后两位。
可用printf("%.2f\n", sum)来输出sum的值,并精确到小数点后两位。
样例输入
2
1 5 8 10 5 1 1 2 3 4
3 5 6 3 100 1 1 0 1 0
样例输出
2140.20
4427.80
代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double[] p = {
28.9, 32.7, 45.6, 78, 35, 86.2, 27.8, 43, 56, 65};
int n = sc.nextInt();
for (int i = 0; i < n; i++) {
double sum=0;
for(int j=0;j<10;j++){
sum+=p[j]*sc.nextInt();
}
System.out.printf("%.2f\n", sum);
}
}
}
12:整数的个数
总时间限制: 1000ms 内存限制: 65536kB
描述
给定k(1
< k < 100)个正整数,其中每个数都是大于等于1,小于等于10的数。写程序计算给定的k个正整数中,1,5和10出现的次数。
输入
输入有两行:第一行包含一个正整数k,第二行包含k个正整数,每两个正整数用一个空格分开。
输出
输出有三行,第一行为1出现的次数,,第二行为5出现的次数,第三行为10出现的次数。
样例输入
5
1 5 8 10 5
样例输出
1
2
1
代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int k = sc.nextInt();
int a=0,b=0,c=0;
for (int i = 0; i < k; i++) {
int n = sc.nextInt();
if(n==1)
a++;
else if(n==5)
b++;
else if(n==10)
c++;
}
System.out.println(a+"\n"+b+"\n"+c);
}
}
13:整数的立方和
总时间限制: 1000ms 内存限制: 65536kB
描述
给定一个正整数k(1<k<10),求1到k的立方和m。即m=1+222+…+kkk。
输入
输入只有一行,该行包含一个正整数k。
输出
输出只有一行,该行包含1到k的立方和。
样例输入
5
样例输出
225
代码