#include<iostream>
#include<stdio.h>
#include<cstring>
using namespace std;
int main()
{
char c[100];
char grade[5] = { 'F', 'D', 'C', 'B', 'A' };
while (fgets(c, sizeof(c), stdin))
{
float sum = 0;
int i = 0;
int flag = 1;
for (int k = 0; k < strlen(c); k++)
{
if (c[k] == ' ' || c[k] == '\n')
continue;
int flag1 = 1;
for (int j = 0; j < 5; j++)
{
if (grade[j] == c[k])
{
sum += j;
i++;
flag1 = 0;
break;
}
}
if (flag1)
{
cout << "Unknown" << endl;
flag = 0;
break;
}
}
if (flag)
printf("%.2f\n", sum / i);
}
return 0;
}
这道题要注意fgets的用法,还有flag的巧妙运用,对回车,空格键的处理,最后还有break,和continue的运用。
希望大家好好体会