题目链接
#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
string s;
while (getline(cin, s)) { // 接受一整行字符串
float sum = 0;
int count = 0;
int flag = 1;
for (int i = 0; i < s.size(); i++) {
if (s[i] == 'A') {sum += 4; count++;}
else if (s[i] == 'B') {sum += 3; count++;}
else if (s[i] == 'C') {sum += 2; count++;}
else if (s[i] == 'D') {sum += 1; count++;}
else if (s[i] == 'F') {sum += 0; count++;}
else if (s[i] == ' ') continue;
else {
flag = 0;
cout << "Unknown" << endl;
break;
}
}
if (flag) printf("%.2f\n", sum / count);
}
return 0;
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) {
String line = in.nextLine();
String[] degrees = line.split(" ");
double avg = 0;
boolean flag = false;
for (String degree : degrees) {
int num = convert(degree);
if (num < 0) {
flag = true;
break;
}
avg += num * 1.0 / degrees.length;
}
if (flag) {
System.out.println("Unknown");
} else {
System.out.printf("%.2f\n", avg);
}
}
}
private static int convert(String degree) {
switch (degree) {
case "A":
return 4;
case "B":
return 3;
case "C":
return 2;
case "D":
return 1;
case "F":
return 0;
default:
return -1;
}
}
}
while 1:
try:
n = input().replace(" ", "").replace("A", "4").replace("B", "3").replace("C", "2").replace("D", "1").replace(
"F", "0")
s = 0
for i in n:
if i not in '43210':
print('Unknown')
break
s += int(i)
else:
print(f"{s / len(n):.2f}")
except:
break
package main
import(
"bufio"
"fmt"
"os"
"strings"
)
func main(){
//创建一个bufio.Reader对象,用于从标准输入(即键盘)读取数据
reader := bufio.NewReader(os.Stdin)
score := map[string]float64{"A":4, "B":3, "C":2, "D":1, "F":0}
for{
avg := 0.0
flag := true
grade, _, err := reader.ReadLine()
grade_list := strings.Split(string(grade), " ")
//如果err的值不等于nil,则表示输入结束
if err != nil{
break
}
for i := 0; i < len(grade_list); i++{
//ok表示字典中是否包含该key
value, ok := score[grade_list[i]]
if ok == false{
flag = false
fmt.Println("Unknown")
break
}
avg = avg + value
}
if flag{
avg = float64(avg)/float64(len(grade_list))
fmt.Println(fmt.Sprintf("%.2f", avg))
}
}
}
// 引入readline模块读取输入
const readline = require("readline");
// 创建readline接口
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
function processInput() {
// 用map存储分数和字母的对应关系
let map = new Map();
map.set("A", 4);
map.set("B", 3);
map.set("C", 2);
map.set("D", 1);
map.set("F", 0);
rl.on("line", (input) => {
let arr = input.split(" ");
let res = 0;
let sumScore = 0;
for (let i = 0; i < arr.length; i++) {
if (map.has(arr[i])) {
sumScore += map.get(arr[i]);
} else {
res = "Unknown"
break
}
}
res = res == "Unknown" ? "Unknown" : (sumScore / arr.length).toFixed(2)
console.log(res)
});
}
processInput();
#include <stdio.h>
#include <string.h>
int main() {
char s[100];
while (fgets(s, sizeof(s), stdin)) { // 接受一整行字符串
float sum = 0;
int count = 0;
int flag = 1;
for (int i = 0; i < strlen(s); i++) {
if (s[i] == 'A') { sum += 4; count++; }
else if (s[i] == 'B') { sum += 3; count++; }
else if (s[i] == 'C') { sum += 2; count++; }
else if (s[i] == 'D') { sum += 1; count++; }
else if (s[i] == 'F') { sum += 0; count++; }
else if (s[i] == ' ' || s[i] == '\n') continue;
else {
flag = 0;
printf("Unknown\n");
break;
}
}
if (flag) printf("%.2f\n", sum / count);
}
return 0;
}