题目大意:
A等于4,B等于3,C等于2,D等于1,F等于0,给出一串只有大写字母和空格的字符串,计算平均值,出现未知字母输出Unknown letter grade in input
大致思路:
直接用gets()或者getline()读入整行,并遍历每个字符
c语言:
#include<stdio.h>
#include<string.h>
char c[10000];
int main()
{
int count=0,flag=1; //flag用于记录是否出现未知字符
double sum=0;
while(gets(c))
{
int len=strlen(c);
for(int i=0;i<len;i++)
{
switch(c[i])
{
case 'A':
sum+=4,count++;
break;
case 'B':
sum+=3,count++;
break;
case 'C':
sum+=2,count++;
break;
case 'D':
sum+=1,count++;
break;
case 'F':
count++;
break;
case ' ':
break;
default:
flag=0;
break;
}
}
if(!flag)
printf("Unknown letter grade in input\n");
else
printf("%.2lf\n",sum/count);
flag=1,count=0,sum=0;
}
return 0;
}
c++:

本文介绍了一个简单的程序,该程序能够读取一行包含大写字母的成绩输入,并计算这些成绩的平均值。程序支持A、B、C、D及F等级的成绩,并在遇到未知字母时输出错误信息。
373

被折叠的 条评论
为什么被折叠?



