习题 3.11 给出一个百分制的成绩,要求输出成绩等级‘A‘,‘B‘,‘C‘,‘D‘,‘E‘。90分以上为‘A‘,80~89分为‘B‘,70~79分为‘C‘,60~69分为‘D‘,60分以下为‘E‘。

习题 3.11 给出一个百分制的成绩,要求输出成绩等级'A','B','C','D','E'。90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。

代码:

#include<iostream>
using namespace std;

int main()
{
	int score;
	int c;
	cout << "please input the score :" << endl;
	cin >> score;

	c = score / 10;

	switch (c)
	{
	case 10:
	case 9:cout << "grade is: " << 'A' << endl; break;
	case 8:cout << "grade is: " << 'B' << endl; break;
	case 7:cout << "grade is: " << 'C' << endl; break;
	case 6:cout << "grade is: " << 'D' << endl; break;
	case 5:
	case 4:
	case 3:
	case 2:
	case 1:
	case 0:cout << "The grade is: " <<'E' << endl; break;
	default:break;
	}
	return 0;
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 级为c;60≤score<70等级为d;score<60等级为e。 ```c++ char calfun(int x) { char grade; if (x >= 90) { grade = 'a'; } else if (x >= 80) { grade = 'b'; } else if (x >= 70) { grade = 'c'; } else if (x >= 60) { grade = 'd'; } else { grade = 'e'; } return grade; } ``` 使用方法: ```c++ int score; cout << "请输入一个百分制成绩:"; cin >> score; cout << "等级为:" << calfun(score) << endl; ``` 注意: 这个代码需要输入输出流头文件,如 <iostream> 。 ### 回答2: 基于题目的要求,我们可以写一个计算等级的函数 calfun,并且函数的返回值是 char 类型的。在编写这个函数的时候,我们需要按照输入的百分制成绩 score,按照下面的规则来计算它的等级: - 当 score≥90 时,等级为 a。 - 当 80≤score<90 时,等级为 b。 - 当 70≤score<80 时,等级为 c。 代码如下: ```c char calfun(int score) { char grade; if (score >= 90) { grade = 'a'; } else if (score >= 80 && score < 90) { grade = 'b'; } else if (score >= 70 && score < 80) { grade = 'c'; } else { grade = 'd'; } return grade; } ``` 在上面的函数中,我们首先定义一个 char 类型的变量 grade,表示输入的成绩对应的等级。然后我们用 if 和 else if 语句来判断输入的成绩 score 对应的等级是什么,最后返回对应的成绩等级。 当输入成绩 score 满足上述条件时,我们可以使用这个函数来求它的等级,示例如下: ```c int main() { int score; scanf("%d", &score); printf("score grade: %c", calfun(score)); return 0; } ``` 在上面的代码中,我们首先定义一个整型变量 score 来保存输入的成绩,然后使用 scanf 函数从键盘上读取输入的成绩值。接着,我们调用 calfun 函数来计算输入数对应的等级,并使用 printf 函数将结果输出到屏幕上。 最后,我们需要注意,如果输入成绩 score 不满足上述条件时,我们需要设定一个默认的等级值,比如说 ‘d’,这样程序才能正确地运行。 ### 回答3: 题析: 这道题目主要考察的是条件语句和字符类型的应用。我们需要编写一个函数,接收一个百分制成绩,然后根据成绩的范围,输出相应的等级。因此,我们需要判断输入的成绩所处的范围,然后返回相应的等级字符。 解题思路: 我们可以通过 if...else 语句来判断数所处的范围,并返回相应的等级字符。举个例子,当您输入的数为 86 时,根据题意应该返回 'B',如果输入的数为 92 ,那么应该返回 'A'。 此外,我们还需要注意一些边界条件,比如输入的数可能不在 0 到 100 之间,或者数为小数等情况。这些情况需要我们考虑到并进行特殊处理,以保证函数的稳定性和正确性。 代码实现: 下面是本题的完整代码实现,您可以参考以下代码,并进行自己的练习和思考。 ```cpp #include <iostream> using namespace std; char calfun(int score) { if (score >= 90) return 'A'; else if (score >= 80 && score < 90) return 'B'; else if (score >= 70 && score < 80) return 'C'; else if (score >= 60 && score < 70) return 'D'; else return 'E'; } int main() { int score; cout << "请输入一个百分制成绩:"; cin >> score; if (score < 0 || score > 100) cout << "输入错误,请输入0~100的整数。" << endl; else cout << "等级为:" << calfun(score) << endl; return 0; } ``` 总结: 本题的解法较为简单,主要考察的是条件语句的应用能力。在实际应用中,我们需要注意一些边界条件,并对输入进行特殊处理,以保证代码的完整性和稳定性。同时,为了提高代码的可读性,我们还可以使用 switch...case 语句或者其他的方式来实现该问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值