3第二章程序练习《百分制成绩转换为字母等级成绩》

《百分制成绩转换为字母等级成绩》


注:须知这里重点练习和比较的是级联的if else if和switch case语句

问题说明:输入百分制成绩,90分以上属于A,80以上属于B,70以上属于C,60以上属于D,60以下属于E

级联的if else if

这是天然的分段函数,因此非常适合用级联的if else if,代码如下,仅仅需要注意下面问题即可

  • 大于号来判断是从大到小,用小于号来判断是从小到大 grade_100>=80也是80<=grade_100<90
#include<stdio.h>
int main()
{
	int grade_100;
	char grade_A;
	printf("请输入百分制成绩:");
	scanf("%d",&grade_100);
	if (grade_100>=90)
	{
		printf("A");
	 } else if (grade_100>=80)
	 {
		printf("B");
	 }else if (grade_100>=70)
	 {
		printf("C");
	 }else if (grade_100>=60)
	 {
		printf("D");
	 }else 
	 {
		printf("E");
	 }
	return 0;
 } 

switch case的写法

由于switch case适合在一个点处做判断,因此我们可以将问题转换为通过十位数来判断等级,即9X表示A,代码如下

#include<stdio.h>
int main()
{
	int grade_100;
	char grade_A;
	printf("请输入百分制成绩:");
	scanf("%d",&grade_100);
	switch (grade_100/10)
	{
		case 10:
		case 9:
			printf("A");
		break;
		case 8:
			printf("B");
		break;
		case 7:
			printf("C");
		break;
		case 6:
			printf("D");
		break;
		default:
			printf("E");		
	}
	return 0;
 } 

总结

  1. 单说这个程序,其实还有改进的地方,即现在还没有实现单一出口,但是现在先这样,学了字符可以再改
  2. 要牢记if else if和switch case的使用场合,其实两者可以互换,但是有适合和更适合的区别
  3. 还是要再强调一下,switch case的控制表达式必须是int 型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值