A B C D F B F F C C A D C E F
2.00 1.83 Unknown letter grade in input
#include <stdio.h>
#include <string.h>
int main()
{
char a[10005];
while(gets(a))
{
int sum=0;
int sum1=0;
int sum2=0;
int l=strlen(a);
int i;
for(i=0;i<l;i++)
{
if(a[i]=='A')
{
sum+=4;
sum1++;
}
else if(a[i]=='B')
{
sum+=3; sum1++;
}
else if(a[i]=='C')
{
sum+=2; sum1++;
}
else if(a[i]=='D')
{
sum+=1; sum1++;
}
else if(a[i]=='F')
{
sum+=0; sum1++;
}
else if(a[i]==' ') //遇到空格 ,则继续。
continue;
else // 遇到其他字母
{
sum2=1;// 格式控制 ,然后跳出
break;
}
}
if(sum2)
printf("Unknown letter grade in input\n");// 如果是真,直接输出Unknown letter grade in input
else
printf("%.2lf\n",double(sum*1.0/sum1));// sum2不等于一,直接输出平均值
}
}原文地址:http://blog.csdn.net/sky_miange/article/details/42126301