美烦资源网

专注技术文章分享,涵盖编程教程、IT 资源与前沿资讯

C语言实现:百分制成绩等级转换

要求:百分制成绩等级转换,90-100 评级A, 80-89评级B,60-79评级C,60以下评级D

以下是一个用C语言实现的百分制成绩等级转换程序。程序根据输入的成绩,输出对应的等级:

#include 

// 函数声明
char getGrade(int score);

int main() {
    int score;
    printf("请输入成绩(0-100):");
    scanf("%d", &score);

    // 检查输入是否合法
    if (score < 0 score> 100) {
        printf("输入的成绩不合法!请输入0到100之间的整数。\n");
        return 1; // 退出程序
    }

    // 获取等级并输出
    char grade = getGrade(score);
    printf("成绩等级为:%c\n", grade);

    return 0;
}

// 根据成绩返回等级
char getGrade(int score) {
    if (score >= 90 && score <= 100 return a else if score>= 80 && score < 90 return b else if score>= 60 && score < 80) {
        return 'C';
    } else {
        return 'D';
    }
}

代码说明

  1. 主函数

提示用户输入成绩。

检查输入是否合法(0到100之间)。

调用getGrade函数获取等级并输出。

  1. getGrade函数

根据输入的成绩返回对应的等级:

90-100:A

80-89:B

60-79:C

60以下:D

  1. 输入检查

如果输入的成绩不在0到100之间,程序会提示输入错误并退出。

示例运行

输入:

请输入成绩(0-100):85

输出:

成绩等级为:B

输入:

请输入成绩(0-100):120

输出:

输入的成绩不合法!请输入0到100之间的整数。


进一步优化

不用if else,改用switch case实现更清晰

代码如下:

// 根据成绩返回等级
char getGrade(int score) {
    int range = score / 10; // 将分数范围转换为离散的整数值
    switch (range) {
        case 10: // 100分
        case 9:  // 90-99分
            return 'A';
        case 8:  // 80-89分
            return 'B';
        case 7:  // 70-79分
        case 6:  // 60-69分
            return 'C';
        default: // 0-59分
            return 'D';
    }
}

总结

这个程序通过简单的条件判断实现了百分制成绩到等级的转换,并包含输入合法性检查,确保程序的健壮性。可以根据需要进一步扩展,例如支持浮点数输入或更多等级划分。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言