作业帮 > 综合 > 作业

C语言编程 ACM题目描述每门课的成绩分为A、B、C、D、F五个等级,为了计算平均绩点,规定A、B、C、D、F分别代表4

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/04/29 18:20:11
C语言编程 ACM
题目描述
每门课的成绩分为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
C语言编程 ACM题目描述每门课的成绩分为A、B、C、D、F五个等级,为了计算平均绩点,规定A、B、C、D、F分别代表4
#include<stdio.h>
#include<string.h>
void main(){
float sum=0,ave[100]={-1.0};
int amount=0,j=0;
char s[100];
while(1){
        gets(s);
for(int i=0;i<strlen(s);i++){
switch(s[i]){
case 'A':
sum+=4;
amount+=1;
break;
   case 'B':
sum+=3;
amount+=1;
break;
case 'C':
sum+=2;
amount+=1;
break;
case 'D':
sum+=1;
amount+=1;
break;
case 'F':
sum+=0;
amount+=1;
break;
case ' ':
break;
default:
for(int k=0;k<j;k++){
                     printf("%.2f\n",ave[k]);
}
printf("Unknown\n");
return;
}    
}
ave[j]=sum/amount;
   j++;
   sum=0;
amount=0;
}
}