成绩等第C 语言case语句,C语言初步-第26讲:利用switch语句解决问题(成绩等级)...

任务和代码:

/*

*Copyright (c)2017 CSDN学院

*All rights reserved

*文件名称:main.c

*作者: Osseyda

完成日期:2017.9.14

*版本号:v2.

*

*问题描述:给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。90分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’。

*问题输出:输出与分数对应的等级

*/

#include #include int main ( ){

int grade,rate;;

printf("所得成绩:");

scanf("%d",&grade);

rate=(grade>60)+(grade>70)+(grade>80)+(grade>90);

switch(rate){

case 0:

printf("输出等级:E");

break;

case 1:

printf("输出等级:D");

break;

case 2:

printf("输出等级:C");

break;

case 3:

printf("输出等级:B");

break;

default:

printf("输出等级:A");

}

return 0;

}运行结果:

d59d18ebcf5113c0049c6c9769fd47c0.png

知识点总结:

1.if的多分支结构转换成switch语句;2.break及时退出;3.如何将分段区间转换成简单的标准量(将各个区间的部分用逻辑表达式表出后相加)

心得:

if的多分枝结构类似分段函数,这样的话一定能够用switch语句表达出来吧。同讲中“计算运费”能否也这样表示呢?

任务和代码:

/*

*Copyright (c)2017 CSDN学院

*All rights reserved

*文件名称:main.c

*作者: Osseyda

完成日期:2017.9.14

*版本号:v2.

*

*问题描述:每公里每吨货物的基本运费为p(price),货物重为w(weight),距离为s,折扣为d(discount),则总运费f(freight)的计算公式为 freight=price*weight*s*(1-discount)

*问题输出:总运费

*/

#include #include int main ( ){

int c,s;

float p,w,d,f;

printf("please enter p,w,s: ");

scanf("%f%f%d", &p, &w, &s);

c=(s<250)+(s<500)+(s<1000)+(s<2000)+(s<3000);

switch (c){

case 5:

d=0;break;

case 4:

d=2;break;

case 3:

d=5;break;

case 2:

d=8;break;

case 1:

d=10;break;

default:

d=15;break;

}

f=p*w*s*(1-d/100.0);

printf("freight=%.2f\n", f);

return 0;

}

f02f592af7efbe54d503897d93e599f4.png

运行结果:

82af4bd0c5a1f56d4932a0458c5e295d.png

原程序代码:

#include int main()

{

int c,s;

float p,w,d,f;

printf("please enter p,w,s: ");

scanf("%f%f%d", &p, &w, &s);

if(s>=3000)

c=12;

else

c=s/250;

switch (c)

{

case 0:

d=0;break;

case 1:

d=2;break;

case 2:

case 3:

d=5;break;

case 4:

case 5:

case 6:

case 7:

d=8;break;

case 8:

case 9:

case 10:

case 11:

d=10;break;

case 12:

d=15;break;

}

f=p*w*s*(1-d/100.0);

printf("freight=%.2f\n", f);

return 0;

}知识点总结:

1.寻找标准量的方法有两种:(逻辑表达式;‘/ ’使满足条件的范围变小)

2.多个case可以共用一组执行语句

心得:

1.在用逻辑表示式找标准量的时候,没仔细看范围,导致下面原本case 4的情况下变成了case 2(取补);

2.程序虽然小,但自己亲手动一遍的话,便知道容易出错的地方在哪,下次哪些地方应尤其注意,避免出错。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值