怎样用C语言编写一个求平均数的程序?要求如下.刚学C语言,要求是:由五个大写英文字母(ABCDF,没有E)分别代表4,3,2,1,0五个数字,执行程序时,要求连续输入六个大写字母并用空格隔开(如A B F
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/05 19:32:10
怎样用C语言编写一个求平均数的程序?要求如下.刚学C语言,要求是:由五个大写英文字母(ABCDF,没有E)分别代表4,3,2,1,0五个数字,执行程序时,要求连续输入六个大写字母并用空格隔开(如A B F
怎样用C语言编写一个求平均数的程序?要求如下.刚学C语言,
要求是:由五个大写英文字母(ABCDF,没有E)分别代表4,3,2,1,0五个数字,执行程序时,要求连续输入六个大写字母并用空格隔开(如A B F C D F ) ,输出时直接得到由这几个字母代表的数字的平均数并精确到两位小数(即(A+B+F+C+D+F)/6=(4+3+0+2+1+0)/6=1.67)
原题的英文要求如下,有可能翻译的不标准:
Each course grade is one of the following five letters:A,B,C,D,and F.(Note that there is no grade E.) The grade A indicates superior achievement,whereas F stands for failure.In order to calculate the GPA (Grade Point Average),the letter grades A,B,C,D,and F are assigned the following grade points,respectively:4,3,2,1,and 0.The GPA is the average number of these grades.
Input
The input data are 6 course grade in a line.There are 6 upper case letters,separated by blank spaces.
Output
If all upper case letters on a particular line of input came from the set {A,B,C,D,F} then the output will consist of the GPA,displayed with a precision of two decimal places.Otherwise,the message "Unknown letter grade in input" will be printed.
Sample Input
A B F C D F
B F F C C A
D C E F A B
A A A A A A
Sample Output
1.67
1.83
Unknown letter grade in input
4.00
怎样用C语言编写一个求平均数的程序?要求如下.刚学C语言,要求是:由五个大写英文字母(ABCDF,没有E)分别代表4,3,2,1,0五个数字,执行程序时,要求连续输入六个大写字母并用空格隔开(如A B F
#include
int chartoint(char ch)
{
int a;
switch(ch)
{
case 'A':a=4;
break;
case 'B':a=3;
break;
case 'C':a=2;
break;
case 'D':a=1;
break;
case 'F':a=0;
break;
default:a=-5000;
}
return a;
}
main()
{
char ch;
int gpa,i;
while(scanf("%c",&ch)!=EOF)
{
gpa=chartoint(ch);
for(i=0;i=0)
printf("%.2f\n",gpa/6.0);
else
printf("Unknown letter grade in input\n");
getchar();
}
}
这个可以实现输入多组数据的,感觉题目不规范,没有描述终止条件,最后的getchar()是用来吸收回车的,你可以去掉以后调试一下就知道效果了