小言_互联网的博客

hhu 1310平均绩点

299人阅读  评论(0)

平均绩点

题目描述
每门课的成绩分为A、B、C、D、F五个等级,为了计算平均绩点,规定A、B、C、D、F分别代表4分、3分、2分、1分、0分。输入有多组测试样例。每组输入数据占一行,由一个或多个大写字母组成,字母之间由空格分隔。输出每组输出结果占一行。如果输入的大写字母都在集合{A,B,C,D,F}中,则输出对应的平均绩点,结果保留两位小数。否则,输出“Unknown”。
样例输入
A B C D F
B F F C C A
D C E F
样例输出
2.00
1.83
Unknown

代码
#include <stdio.h>
int main()
{
char a[1000];
char *p=a;
double sum=0;
int k=0,lan=0;
while(gets(a))//输入有空格用gets
{
lan=0;//初始化
k=0;
sum=0;
p=a;
while(*p)//字符串读取到末尾
{

switch(*p)
{
case ‘A’:sum+=4;k++;
break;
case ‘B’:sum+=3;k++;
break;
case ‘C’:sum+=2;k++;
break;
case ‘D’:sum+=1;k++;
break;
case ‘F’:sum+=0;k++;
break;
case ’ ':break;
default:lan=1;break;
}
p++;//自增
}
if(!lan)
printf("%.2f\n",sum/k);
else
printf(“Unknown\n”);//不能放在default里
}
return 0;
}


转载:https://blog.csdn.net/xiaolan7777777/article/details/97017266
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场