鱼C论坛

 找回密码
 立即注册
查看: 1375|回复: 2

[已解决]求助

[复制链接]
发表于 2023-11-6 10:20:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
编写程序,给出一个百分制成绩,要求输出相应的等级A、B、C、D、E。90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。

编程提示:

1)    先定义一个整型变量存放百分制成绩;

2)    输入百分制成绩;

3)    将百分制成绩按10分,分档作为switch语句中括号内的表达式;

4)    按  case 10:

        case  9:

        case  8:

        case  7:

        case  6:

        default:

这六种匹配情况分别选择不同的入口;

5)    输出转换后的等级成绩。

最佳答案
2023-11-6 10:22:11
问题分析:

这个问题需要我们编写一个程序,输入一个百分制成绩,将其转换为相应的等级。题目已经给出了转换规则,可以使用switch语句来实现。

解决方案:

以下是一个简单的解决方案:
#include <stdio.h>int main(void){    int score;        printf("请输入百分制成绩:");    scanf("%d", &score);        switch (score / 10) {        case 10:        case 9:            printf("A\n");            break;        case 8:            printf("B\n");            break;        case 7:            printf("C\n");            break;        case 6:            printf("D\n");            break;        default:            printf("E\n");            break;    }        return 0;}
这个程序首先定义了一个整型变量score来存放百分制成绩,然后通过scanf函数读取用户输入的成绩。接下来,使用switch语句以10分为一档去判断成绩所在的范围,并输出相应的等级。最后返回0表示程序正常结束。

此外,还需要注意以下几点:

1. 在使用switch语句时,需要注意将score除以10得到的结果作为表达式。因为我们是根据10分为一档来判断的,所以需要将成绩除以10。
2. 在switch语句中,我们使用了多个case标签来匹配不同的成绩范围。需要注意的是,如果某些范围的分数对应的等级相同,可以将这些范围合并在一起,例如本题中90分以上和80分以上对应的等级都是A。
3. 在输出等级时,需要注意换行符\n的使用。题目要求输出等级成绩后需要换行。

这样改进后的代码就可以正确地输出相应等级了。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-6 10:20:54 | 显示全部楼层
以下是一个示例程序,用于根据输入的百分制成绩输出相应的等级:
#include <iostream>
using namespace std;

int main() {
    int score;
    cout << "请输入百分制成绩:";
    cin >> score;

    switch (score / 10) {
        case 10:
        case 9:
            cout << "等级:A" << endl;
            break;
        case 8:
            cout << "等级:B" << endl;
            break;
        case 7:
            cout << "等级:C" << endl;
            break;
        case 6:
            cout << "等级:D" << endl;
            break;
        default:
            cout << "等级:E" << endl;
            break;
    }

    return 0;
}

首先,定义一个整型变量  score  来存放百分制成绩。然后,通过  cin  输入百分制成绩。

接下来,使用  switch  语句将百分制成绩按照10分一档进行分组。根据不同的分数范围,选择不同的  case  分支。如果输入的成绩在90以上,会执行  case 10:  和  case 9:  分支,输出等级 A;如果成绩在80至89之间,会执行  case 8:  分支,输出等级 B;以此类推。

最后,根据执行的分支,使用  cout  输出对应的等级成绩。

希望这个示例程序能够帮助你解决问题。如果有任何疑问,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-6 10:22:11 | 显示全部楼层    本楼为最佳答案   
问题分析:

这个问题需要我们编写一个程序,输入一个百分制成绩,将其转换为相应的等级。题目已经给出了转换规则,可以使用switch语句来实现。

解决方案:

以下是一个简单的解决方案:
#include <stdio.h>int main(void){    int score;        printf("请输入百分制成绩:");    scanf("%d", &score);        switch (score / 10) {        case 10:        case 9:            printf("A\n");            break;        case 8:            printf("B\n");            break;        case 7:            printf("C\n");            break;        case 6:            printf("D\n");            break;        default:            printf("E\n");            break;    }        return 0;}
这个程序首先定义了一个整型变量score来存放百分制成绩,然后通过scanf函数读取用户输入的成绩。接下来,使用switch语句以10分为一档去判断成绩所在的范围,并输出相应的等级。最后返回0表示程序正常结束。

此外,还需要注意以下几点:

1. 在使用switch语句时,需要注意将score除以10得到的结果作为表达式。因为我们是根据10分为一档来判断的,所以需要将成绩除以10。
2. 在switch语句中,我们使用了多个case标签来匹配不同的成绩范围。需要注意的是,如果某些范围的分数对应的等级相同,可以将这些范围合并在一起,例如本题中90分以上和80分以上对应的等级都是A。
3. 在输出等级时,需要注意换行符\n的使用。题目要求输出等级成绩后需要换行。

这样改进后的代码就可以正确地输出相应等级了。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 23:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表