欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

switch和if语句输出成绩等级

程序员文章站 2022-05-02 08:16:22
...
#include <stdio.h>
int main(void)
{
char grade;
scanf("%c",&grade);
printf("你的成绩范围:\n");
switch(grade)
{
	case'A':printf("85-100\n");break;
	case'B':printf("70-84\n");break;
	case'C':printf("60-69\n");break;
	case'D':printf("0-60\n");break;
	default:printf("error\n");
	
}
return 0;
}

case后面一定是常量或者常量表达式,但是一定不可以是逻辑表达式

switch和if语句输出成绩等级

这样便会出错。

if语句:


int main (void)

{
float score;

printf(" 请输入成绩:\n ");

scanf( "%f",  &score );

if (score>=90 && score<=100)
	
	printf("优秀\n");
  	
else if ( score>=80 && score<90 )
	
	printf(" 良好!\n");

else if (score>=60 && score<80)
	
	printf(" 及格!\n");

else if (score>=0 && score<60)

	printf(" 不及格,继续努力!\n");

else if (score>100)

	printf("你这是在做梦!\n");

else 

	printf("输入错误,请重新输入!!!!!!\n");

return 0;

}

注释:
如果想用switch语句来输出等级,可以考虑用取整

#include <stdio.h>

int main()
{
double score;
int a;
while (scanf("%lf", &score))
{
    if (score < 0 || score > 100)
    {
        printf("请输入0-100范围内的分数\n");
        continue;
    }
    a = (int)score / 10;
    switch (a)
    {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        printf("E\n");
        break;
    case 6:
        printf("D\n");
        break;
    case 7:
        printf("C\n");
        break;
    case 8:
        printf("B\n");
        break;
    case 9:
    case 10:
        printf("A\n");
        break;
    default:
        break;
    }
}
return 0;
}

switch和if语句输出成绩等级

相关标签: switch