代码长度限制
16 KB
Java (javac)
时间限制
500 ms
内存限制
256 MB
其他编译器
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
题目描述:
兰州牛肉面是历史悠久的美食,根据牛肉面的宽窄、配料的种类,可以细分为上百个不同的品种。你进到兰州的任何一家牛肉面馆,只说:“来一碗牛肉面!”就好像进到加州的咖啡馆说“来一杯咖啡”一样,会被店主人当成外星人……
本题的任务是,请你写程序帮助一家牛肉面馆的老板统计一下,他们一天卖出各种品种的牛肉面有多少碗,营业额一共有多少。
输入格式:
输入第一行给出一个正整数 N(≤100),为牛肉面的种类数量。这里为了简单起见,我们把不同种类的牛肉面从 1 到 N 编号,以后就用编号代替牛肉面品种的名称。第二行给出 N 个价格,第 i 个价格对应第 i 种牛肉面一碗的单价。这里的价格是 [0.01, 200.00] 区间内的实数,以元为单位,精确到分。
随后是一天内客人买面的记录,每条记录占一行,格式为:
品种编号 碗数
其中碗数
保证是正整数。当对应的 品种编号
为 0
时,表示输入结束。这个记录不算在内。
输出格式:
首先输出 N 行,第 i 行输出第 i 种牛肉面卖出了多少碗。最后一行输出当天的总营业额,仍然是以元为单位,精确到分。题目保证总营业额不超过
1
0
6
10^{6}
106。
输入样例:
5
4.00 8.50 3.20 12.00 14.10
3 5
5 2
1 1
2 3
2 2
1 9
0 0
输出样例:
10
5
5
0
2
126.70
求出当天每种牛肉面卖了多少碗,以及当天的总营业额。
emmmmmmm
直接利用数组统计每种牛肉面的数量
import java.io.*;
import java.util.*;
public class Main
{
public static void main(String[] args)
{
int n = sc.nextInt();
double shu[] = new double[n + 10]; // 存储每种牛肉面的价格
for (int i = 1; i <= n; i++)
shu[i] = sc.nextDouble();
int res[] = new int[n + 10]; // 计算每种牛肉面买了多少碗
double ans = 0; // 计算总营业额
while (true)
{
int op = sc.nextInt();
int x = sc.nextInt();
if (op == 0)
break;
res[op] += x;
ans += shu[op] * x;
}
for (int i = 1; i <= n; i++)
out.println(res[i]);
out.printf("%.2f", ans);
out.flush();
out.close();
}
static Scanner sc = new Scanner(System.in);
static PrintWriter out = new PrintWriter(System.out);
}
如果有说错的 或者 不懂的 尽管提 嘻嘻
一起进步!!!