c语言题 要求按照百分制考试成绩输出对应的等级(分别用if和switch,写两种)

2025-03-04 18:11:15
推荐回答(3个)
回答1:

#include 
void judge1(int score);
void judge2(int score);
void main()
{
     int score=0;
     
     scanf("%d",&score);
     
     while(score!=-1)
     {
                     judge1(score);
                     judge2(score);
                     scanf("%d",&score);
     }
     getch();
}
void judge1(int score)
{
     if(score>=85)
                  printf("judge1 --> A\n");
     else if(score>70)
          printf("judge1 --> B\n");
     else if(score>=60)
          printf("judge1 --> C\n");
     else
         printf("judge1 --> D\n");
}
void judge2(int score)
{
     int flag = score/10;
     
     switch(flag)
     {
                 case 10:
                 case 9:printf("judge2 --> A\n");break;
                 case 8:
                      if(score>=85)
                      {
                                   printf("judge2 --> A\n");break;
                      }
                 case 7:printf("judge2 --> B\n");break;
                 case 6:printf("judge2 --> C\n");break;
                 default:
                        printf("judge2 --> D\n"); break;
     }
}

根据你的要求写的,你看看有什么疑问,

回答2:

使用IF语句实现:
#include
void main()
{
int x;
scanf("%d",&x);
for(;x!=-1;)
{
if(x>=85&&x<=100)
printf("A等\n");
else
if(x>=70&&x<=84)
printf("B等\n");
else
if(x>=60&&x<=69)
printf("C等\n");
elseif(x>=0&&x<=59)
printf("D等\n");
else
printf("输入有误\n");
scanf("%d",&x);
}
}

使用SWITCH语句实现:
#include
void main()
{
int x;
scanf("%d",&x);
for(;x!=-1;)
{
switch(x)
{
case x>=85&&x<=100:printf("A等\n");break;
case x>=70&&x<=84: printf("B等\n");break;
case x>=605&&x<=69:printf("C等\n");break;
case x>=0&&x<=59: printf("D等\n");break;
defalut : printf("输入有误\n"); break;
}
scanf("%d",&x);
}
}

回答3:

#intclude
char grade(int score) {
if(score>=85) return A;
else if(score>=70) return B;
else if(score>=60) return C;
else return D;
}
//_______________________________
char level(int score) {
switch((score+5)/15) {
case 7:case 6:return A;
case 5:return B;
case 4: {
switch(score/10) {
case 6:return C;
case 5:return D;
}
}
default:return D;
}
}
//_____________________________
main() {
int flag=1,score;
while(flag!=-1) {
printf("please input the score: ");
scanf("%d",&score);
printf("grade: %c\n",grade(score));
printf("input -1 to exit!");
scanf("%d",&flag);
}
}