1 条题解
-
0
C++ :
#include <stdio.h> int main(){ int i,flag,d; char str[50]; float sum; while(gets(str) != NULL) { i = 0; d = 0; sum = 0; flag = 0; while(str[i] != '\0') { switch(str[i]) { case 'A' : sum += 4; break; case 'B' : sum += 3; break; case 'C' : sum += 2; break; case 'D' : sum += 1; break; case 'F' : break; case ' ' : --d; break; default : flag = 1; printf("Unknown\n"); break; } if(flag == 1) break; d++; i++; } if(flag == 0) { if(d != 0) printf("%.2f\n",sum/d); else printf("0.00\n"); } } return 0; }
Pascal :
var k,c:string; i,j:integer; sum:real; begin while not eoln do begin c:=' '; sum:=0; i:=0; readln(c); for j:=1 to length(c) do begin k:=copy(c,j,1); if k[1]='A' then begin sum:=sum+4; inc(i); end else if k[1]='B' then begin sum:=sum+3; inc(i); end else if k[1]='C' then begin sum:=sum+2; inc(i); end else if k[1]='D' then begin sum:=sum+1; inc(i); end else if k[1]='F' then inc(i) else if ord(k[1])=32 then else begin sum:=-1; break; end; end; if i=0 then i:=1; if sum=-1 then writeln('Unknow') else writeln(sum/i:0:2); end; end.
- 1
信息
- ID
- 541
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者