C语言 ACM#include #include int main(){int i=0,c=1,d=0;char strl[50];float sum=0;while(gets(strl)) {while(strl[i]!='\0'){if(strl[i]=='A'){sum+=4; d++; i++; }if(strl[i]=='B'){sum+=3; d++; i++;}if(strl[i]=='C'){sum+=2; d++; i++;}if(strl[i]=='D'){sum+=

来源:学生作业帮助网 编辑:作业帮 时间:2024/06/17 22:21:41
C语言 ACM#include #include int main(){int i=0,c=1,d=0;char strl[50];float sum=0;while(gets(strl)) {while(strl[i]!='\0'){if(strl[i]=='A'){sum+=4; d++; i++; }if(strl[i]=='B'){sum+=3; d++; i++;}if(strl[i]=='C'){sum+=2; d++; i++;}if(strl[i]=='D'){sum+=
xVoVpZDcrhq6[U&(ee^`,Af9#JSUCcY>E#+r"|!0ry<+b^Zy|*1hDlrƜi&`tl&F4nGLŒ b!I3$42$eDKczk4[7,}pw_ytvv [ p@H:1)"8NY >JgoQMݸ+-IiN᣸iKBffqf'b? @Ff@+4[Εշ^S\IRp^CϞS^>Mt:\ퟮ z[5 d %H?~];zlB}bMgՎ^W~(L4xFGj?~?A/:kjME=4ga!=W4zO~=GBLǗ5xVClM)6PힱG(QQHPS'&zGEop!R6ędRLk & $XO C~By 4iQ?CzkS@{@q6?[Aw 8͜~ ߖYf2}fI(&[Q* +`fҼ\xJDVx_.(Q@ 1X=YdsS@'ȨOz˦9CO;wN#8ÏC.k$%yoqx4"*Esy=ٌ,XN _Z!4M7C-0*1Ux<TRcPǣJ>pv6?"%/2<ݢkU׮rAXoqOS$8,l&ZqfZ*ε!wng3 #旄!6;0a'@s- J$9mh@.fYT^_

C语言 ACM#include #include int main(){int i=0,c=1,d=0;char strl[50];float sum=0;while(gets(strl)) {while(strl[i]!='\0'){if(strl[i]=='A'){sum+=4; d++; i++; }if(strl[i]=='B'){sum+=3; d++; i++;}if(strl[i]=='C'){sum+=2; d++; i++;}if(strl[i]=='D'){sum+=
C语言 ACM
#include
#include
int main(){
int i=0,c=1,d=0;char strl[50];float sum=0;
while(gets(strl))
{
while(strl[i]!='\0')
{
if(strl[i]=='A'){
sum+=4; d++; i++;
}
if(strl[i]=='B'){
sum+=3; d++; i++;
}
if(strl[i]=='C'){
sum+=2; d++; i++;
}
if(strl[i]=='D'){
sum+=1; d++; i++;
}
if(strl[i]=='F'||strl[i]==' '){
sum+=0; d++; i++;
}
if(strl[i]70)
{
printf("Unknown\n");
c=0; i++; break;
}
}
if(c!=0){
printf("%.2f\n",sum/d); sum=0; d=0;
}
}
}
每门课的成绩分为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#include #include int main(){int i=0,c=1,d=0;char strl[50];float sum=0;while(gets(strl)) {while(strl[i]!='\0'){if(strl[i]=='A'){sum+=4; d++; i++; }if(strl[i]=='B'){sum+=3; d++; i++;}if(strl[i]=='C'){sum+=2; d++; i++;}if(strl[i]=='D'){sum+=

/*

A B C D F

2.00

B F F C C A

1.83

D C E F

Unknown

^Z

Press any key to continue

*/

#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;
}