PAT天梯赛L1-102 兰州牛肉面 c语言
输入第一行给出一个正整数 N(≤100),为牛肉面的种类数量。这里为了简单起见,我们把不同种类的牛肉面从 1 到 N 编号,以后就用编号代替牛肉面品种的名称。第二行给出 N 个价格,第 i 个价格对应第 i 种牛肉面一碗的单价。这里的价格是 [0.01, 200.00] 区间内的实数,以元为单位,精确到分。品种编号 碗数其中碗数保证是正整数。当对应的品种编号为0时,表示输入结束。这个记录不算在内。
·
输入第一行给出一个正整数 N(≤100),为牛肉面的种类数量。这里为了简单起见,我们把不同种类的牛肉面从 1 到 N 编号,以后就用编号代替牛肉面品种的名称。第二行给出 N 个价格,第 i 个价格对应第 i 种牛肉面一碗的单价。这里的价格是 [0.01, 200.00] 区间内的实数,以元为单位,精确到分。
随后是一天内客人买面的记录,每条记录占一行,格式为:
品种编号 碗数
其中碗数
保证是正整数。当对应的 品种编号
为 0
时,表示输入结束。这个记录不算在内。
输出格式:
首先输出 N 行,第 i 行输出第 i 种牛肉面卖出了多少碗。最后一行输出当天的总营业额,仍然是以元为单位,精确到分。题目保证总营业额不超过 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
#include <stdio.h>
int main()
{
int n;scanf("%d",&n);
float price[n+1];
int num[101]={0}; //从1开始存储 下标为品种 里面的数为销额量
for (int i=1;i<=n;i++)
scanf("%f",&price[i]);
int i,count; //不能放在循环里面
do{
scanf("%d %d",&i,&count);
num[i]+=count;
}while(i);
double total=0; //不能用float 最后一个测试点答案错误 数据溢出
for (int j=1;j<=n;j++)
total += price[j]*num[j];
for (int j=1;j<=n;j++)
{
printf("%d\n",num[j]);
}
printf("%.2f",total);
}
更多推荐
所有评论(0)