C语言实现百分制成绩到等级制成绩转换:两种算法详解

本文将介绍使用C语言将百分制成绩转换为等级制成绩的两种方法,并提供相应的代码示例。

转换规则

  • 60分以下为'不合格'
  • 60~69分为 '合格'
  • 70~79分为 '中等'
  • 80~89分为 '良好'
  • 90分以上为 '优秀'

算法一:使用嵌套if语句结构

int score; // 百分制成绩
char level; // 等级制成绩

if (score < 60) {
    level = '不合格';
} else {
    if (score < 70) {
        level = '合格';
    } else {
        if (score < 80) {
            level = '中等';
        } else {
            if (score < 90) {
                level = '良好';
            } else {
                level = '优秀';
            }
        }
    }
}

算法二:使用switch语句结构

int score; // 百分制成绩
char level; // 等级制成绩

switch (score / 10) {
    case 10:
    case 9:
        level = '优秀';
        break;
    case 8:
        level = '良好';
        break;
    case 7:
        level = '中等';
        break;
    case 6:
        level = '合格';
        break;
    default:
        level = '不合格';
        break;
}

代码解析

算法一 使用嵌套的if语句,根据成绩范围进行逐级判断,最终确定等级。这种方法较为直观易懂,但代码冗长。

算法二 利用switch语句,根据成绩除以10后的商进行分类,简化了代码逻辑,提高了代码可读性。

总结

本文介绍了两种C语言实现百分制成绩到等级制成绩转换的算法,分别使用嵌套if语句和switch语句结构。两种算法各有优劣,可根据实际情况选择合适的方案。

C语言实现百分制成绩到等级制成绩转换:两种算法详解

原文地址: https://www.cveoy.top/t/topic/mQX5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录