只可能是你的运行环境有问题啊 ||| vs2008下运行正常 score &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';break;} printf("%5.1f %c/n" //#include<stdio.h>#include "stdafx.h"using namespace std;void main(){float score;char grade;scanf("%f" 你们的答案是对的啊 你看是不是你搞错了 答案补充 你测试看在switch((int)score/10)前score的值是多少 答案补充 没什么解释的啊 grade);}答案: 72.0 C ||| 没有错的