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+=](/uploads/image/z/7174035-27-5.jpg?t=C%E8%AF%AD%E8%A8%80+ACM%23include+%23include+int+main%28%29%7Bint+i%3D0%2Cc%3D1%2Cd%3D0%3Bchar+strl%5B50%5D%3Bfloat+sum%3D0%3Bwhile%28gets%28strl%29%29+%7Bwhile%28strl%5Bi%5D%21%3D%27%5C0%27%29%7Bif%28strl%5Bi%5D%3D%3D%27A%27%29%7Bsum%2B%3D4%3B+d%2B%2B%3B+i%2B%2B%3B+%7Dif%28strl%5Bi%5D%3D%3D%27B%27%29%7Bsum%2B%3D3%3B+d%2B%2B%3B+i%2B%2B%3B%7Dif%28strl%5Bi%5D%3D%3D%27C%27%29%7Bsum%2B%3D2%3B+d%2B%2B%3B+i%2B%2B%3B%7Dif%28strl%5Bi%5D%3D%3D%27D%27%29%7Bsum%2B%3D)
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;
}