1. 程式人生 > >給出一百分制成績,要求成績等級‘A’‘B’‘C’‘D’‘E’。90分以上為A,80~89為B,70~79為C,60~69為D,60分以下為E.

給出一百分制成績,要求成績等級‘A’‘B’‘C’‘D’‘E’。90分以上為A,80~89為B,70~79為C,60~69為D,60分以下為E.

#include<stdio.h>

int main()
{
	float score;
	char grade;
	printf("輸入學生的成績:\n");
	scanf("%f",&score);
	while(score>100 || score < 0)
	{
		printf("輸入有誤,請重輸\n");
		scanf("%f",&score);
	}
	switch((int)(score/10))
	{
	case 10:
	case 9:grade = 'A';break;
	case 8:grade = 'B';break;
	case 7:grade = 'C';break;
	case 6:grade = 'D';break;
	case 5:
	case 4:
	case 3:
	case 2:
	case 1:
	case 0:grade = 'E';
	}
	printf("成績是%5.1f,相應的等級是%c\n",score,grade);
	return 0;
}
對輸入的資料進行檢查,如小於0或大於100,要求重新輸入。(int)(score/10)的作用是將(score/10)的值進行強制型別轉化,
得到一個整型值。例如:當score的值為76時,(int)(score/10)的值為7,然後switch語句執行case7中的語句,使得grade=C