鱼C论坛

 找回密码
 立即注册
查看: 1732|回复: 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语句来实现。

解决方案:

以下是一个简单的解决方案:
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4.     int score;
  5.    
  6.     printf("请输入百分制成绩:");
  7.     scanf("%d", &score);
  8.    
  9.     switch (score / 10) {
  10.         case 10:
  11.         case 9:
  12.             printf("A\n");
  13.             break;
  14.         case 8:
  15.             printf("B\n");
  16.             break;
  17.         case 7:
  18.             printf("C\n");
  19.             break;
  20.         case 6:
  21.             printf("D\n");
  22.             break;
  23.         default:
  24.             printf("E\n");
  25.             break;
  26.     }
  27.    
  28.     return 0;
  29. }
复制代码

这个程序首先定义了一个整型变量score来存放百分制成绩,然后通过scanf函数读取用户输入的成绩。接下来,使用switch语句以10分为一档去判断成绩所在的范围,并输出相应的等级。最后返回0表示程序正常结束。

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

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

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

球一个最佳答案谢谢啦!这对我非常重要!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

  1. #include <iostream>
  2. using namespace std;

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

  7.     switch (score / 10) {
  8.         case 10:
  9.         case 9:
  10.             cout << "等级:A" << endl;
  11.             break;
  12.         case 8:
  13.             cout << "等级:B" << endl;
  14.             break;
  15.         case 7:
  16.             cout << "等级:C" << endl;
  17.             break;
  18.         case 6:
  19.             cout << "等级:D" << endl;
  20.             break;
  21.         default:
  22.             cout << "等级:E" << endl;
  23.             break;
  24.     }

  25.     return 0;
  26. }
复制代码


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

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

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

希望这个示例程序能够帮助你解决问题。如果有任何疑问,请随时提问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

解决方案:

以下是一个简单的解决方案:
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4.     int score;
  5.    
  6.     printf("请输入百分制成绩:");
  7.     scanf("%d", &score);
  8.    
  9.     switch (score / 10) {
  10.         case 10:
  11.         case 9:
  12.             printf("A\n");
  13.             break;
  14.         case 8:
  15.             printf("B\n");
  16.             break;
  17.         case 7:
  18.             printf("C\n");
  19.             break;
  20.         case 6:
  21.             printf("D\n");
  22.             break;
  23.         default:
  24.             printf("E\n");
  25.             break;
  26.     }
  27.    
  28.     return 0;
  29. }
复制代码

这个程序首先定义了一个整型变量score来存放百分制成绩,然后通过scanf函数读取用户输入的成绩。接下来,使用switch语句以10分为一档去判断成绩所在的范围,并输出相应的等级。最后返回0表示程序正常结束。

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

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

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

球一个最佳答案谢谢啦!这对我非常重要!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-21 14:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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