c语言的一道题,求解!!!!!!急急急急急!!!!!!

四级分制转换为百分制的规则如下:
A+ A A- B+ B B- C D
100 90 85 80 75 70 60 <60
编写程序:将输入的四级分制转换成相应的百分制,然后输出。

#include "stdio.h"
#include "string.h"
#include "stdlib.h"
void main()
{
char score[5];
printf("请输入您的四级分制:\n");
scanf("%s",&score);
while(1)
{
if(strcmp(score,"A+")==0)
printf("转化为百分制后为:100\n");
else if(strcmp(score,"A")==0)
printf("转化为百分制后为:90\n");
else if(strcmp(score,"A-")==0)
printf("转化为百分制后为:85\n");
else if(strcmp(score,"B+")==0)
printf("转化为百分制后为:80\n");
else if(strcmp(score,"B")==0)
printf("转化为百分制后为:75\n");
else if(strcmp(score,"B-")==0)
printf("转化为百分制后为:70\n");
else if(strcmp(score,"C")==0)
printf("转化为百分制后为:60\n");
else if(strcmp(score,"D")==0)
printf("转化为百分制后<60\n");
else
exit(0);
printf("\n请输入您的四级分制:\n");
scanf("%s",&score);
}
}追问

要求用switch……

追答

#include
#include
#include

void main(void)
{
char score[3];
printf("请输入您的四级分制:\n");
scanf("%s",&score);
while(1)
{
switch(score[0])
{
case 'A':
if(score[1]=='+')
printf("转化为百分制后为:100\n");
else if(score[1]=='\0')
printf("转化为百分制后为:90\n");
else
printf("转化为百分制后为:85\n");
break;
case 'B':if(score[1]=='+')
printf("转化为百分制后为:80\n");
else if(score[1]=='\0')
printf("转化为百分制后为:75\n");
else
printf("转化为百分制后为:70\n");
break;
case 'C':printf("转化为百分制后为:60\n");
break;
case 'D':printf("转化为百分制后为<60\n");
break;
default:exit(0);
}
printf("\n请输入您的四级分制:\n");
scanf("%s",&score);
}
return ;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-18
用switch 依次选择就行了呗!
自己写写吧!追问

输入“A+”时与输入“A”是一样的吗?

追答

你定义一个字符串吧!放两个字符,在进行比较啊!

追问

……额……我是个初学者……还不太熟悉……

第2个回答  2011-05-18
#include <stdio.h>
#include <string.h>

void main(void)
{
char std[3];
while(1)
{
scanf("%S",std);
swicth(std[0])
{
case 'A':if(str[1]=='+')
printf("100\n");
else if(str[1]=='\0')
printf("90\n");
else
printf("85\n");
break;
case 'B':if(str[1]=='+')
printf("80\n");
else if(str[1]=='\0')
printf("75\n");
else
printf("70\n");
break;
case 'C':printf("60\n");
break;
case 'D':printf("<60\n");
break;
}
}
return ;
}
相似回答