题目地址:
https://www.acwing.com/problem/content/720/
医学部一共进行了 N N N场动物实验。共有三种小动物可用来实验,分别是青蛙、老鼠和兔子。每次实验都会选取其中一种动物来参与实验,选取数量若干。现在请你统计一下医学部一共用了多少小动物,每种分别用了多少,每种动物使用数量占总量的百分比分别是多少。
输入格式:
第一行包含整数
N
N
N,表示实验次数。接下来
N
N
N行,每行包含一个整数
A
A
A(表示一次实验使用的小动物的数量)和一个字符 T(表示一次实验使用的小动物的类型,C表示兔子(coney),R表示老鼠(rat),F表示青蛙(frog))。
输出格式:
请你参照输出样例,输出所用动物总数,每种动物的数量,以及每种动物所占百分比。注意输出百分比时,保留两位小数。
数据范围:
1
≤
N
≤
100
1≤N≤100
1≤N≤100
1
≤
A
≤
15
1≤A≤15
1≤A≤15
代码如下:
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
int c, r, f;
c = r = f = 0;
for (int i = 0; i < N; i++) {
int x;
char ch;
cin >> x >> ch;
if (ch == 'C') c += x;
else if (ch == 'R') r += x;
else f += x;
}
printf("Total: %d animals\n", c + r + f);
printf("Total coneys: %d\n", c);
printf("Total rats: %d\n", r);
printf("Total frogs: %d\n", f);
printf("Percentage of coneys: %.2lf %\n", (double) c / (c + r + f) * 100);
printf("Percentage of rats: %.2lf %\n", (double) r / (c + r + f) * 100);
printf("Percentage of frogs: %.2lf %\n", (double) f / (c + r + f) * 100);
return 0;
}
时间复杂度 O ( N ) O(N) O(N),空间 O ( 1 ) O(1) O(1)。