300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > C语言if语句实现分支结构应用练习题

C语言if语句实现分支结构应用练习题

时间:2023-10-31 16:09:23

相关推荐

C语言if语句实现分支结构应用练习题

此练习为本人自己练习完成的答案,答案方法不止一种,仅供参考!!!

练习题列表

1-1 计算分段函数[1] (10 分)1-2 分段函数 (10 分)1-3 打折促销* (10 分)1-4 12-24小时制 (10 分)1-5 分数等级转换 (10 分)

1-1 计算分段函数[1] (10 分)

本题目要求计算下列分段函数f(x)的值:

输入格式:

输入在一行中给出实数x。

输出格式:

在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。

输入样例1:

10

输出样例1:

f(10.0) = 0.1

输入样例2:

0

输出样例2:

f(0.0) = 0.0

答案:

#include <stdio.h>int main(){double x,result;scanf ("%lf",&x);if (x==0){result=0;}else{result=1/x;}printf("f(%.1f) = %.1f\n",x,result);return 0;}

1-2 分段函数 (10 分)

根据如下分段函数,输入的x的值,输出对应的y值。

输入格式:

输入x的值。

输出格式:

输出对应的y值,小数点后保留3位小数。

输入样例:

10.5

输出样例:

27.083

答案:

#include <stdio.h>#include <math.h>int main(){double x,y;scanf ("%lf",&x);if (x>6){y=5*(pow(x,2)+4*x-6)/27;}else if (x<=0){y=23*fabs(pow(x,3)+4)/7;}else{y=log(16)/log(3)+x;}printf("%.3f",y);return 0;}

1-3 打折促销* (10 分)

某商场推出打折促销活动:若顾客购物额不满 100 元则不优惠;达到或超过 100 元则九五折优惠;达到或超过 200 元则九折优惠;达到或超过 500 元则八五折优惠;达到或超过 1000 元则八折优惠。请编写程序,根据购物金额计算优惠后的实际付款金额。

输入格式

购物金额

输出格式

付款金额

输入样例1

87.5

输出样例1

87.50

输入样例2

2403.85

输出样例2

1923.08

答案:

#include <stdio.h>int main(){double price,discount,finally;scanf ("%lf",&price);if (price<100){discount=1;}if (price>=100 && price<200){discount=0.95;}if (price>=200 && price<500){discount=0.9;}if (price>=500 && price<1000){discount=0.85;}if (price>=1000){discount=0.8;}finally=price*discount;printf("%.2f",finally);return 0;}

1-4 12-24小时制 (10 分)

编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。

输入格式:

输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:34表示12点34分。当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分。

提示:在scanf的格式字符串中加入:,让scanf来处理这个冒号。

输出格式:

在一行中输出这个时间对应的12小时制的时间,数字部分格式与输入的相同,然后跟上空格,再跟上表示上午的字符串AM或表示下午的字符串PM。如5:6 PM表示下午5点零6分。注意,在英文的习惯中,中午12点被认为是下午,所以24小时制的12:00就是12小时制的12:0 PM;而0点被认为是第二天的时间,所以是0:0 AM。

输入样例:

21:11

输出样例:

9:11 PM

答案:

#include <stdio.h>int main(){int hour,min;scanf("%d:%d",&hour,&min);if(hour>12){hour=hour-12;printf("%d:%d PM",hour,min);}else if(hour==12){printf("%d:%d PM",hour,min);}else{printf("%d:%d AM",hour,min);}return 0;}

1-5 分数等级转换 (10 分)

从键盘上输入一个学生的成绩(双精度实数),按照如下规则转换成相应的等级输出。 分数在范围[90,100],等级为“优秀”,[75,90) ,等级为“良好”,[60,75),等级为“及格”, [0,60),等级为“不及格”。

输入格式:

输入一个实数。

输出格式:

输出相应汉字等级,最后换行。

输入样例1:

100

输出样例1:

优秀

输入样例2:

90

输出样例2:

优秀

输入样例3:

75

输出样例3:

良好

输入样例4:

60

输出样例4:

及格

输入样例5:

0

输出样例5:

不及格

答案:

#include <stdio.h>int main(){int grade;scanf("%d",&grade);if(grade>=90 && grade<=100){printf("优秀");}if(grade>=75 && grade<90){printf("良好");}if(grade>=60 && grade<75){printf("及格");}if(grade>=0 && grade<60){printf("不及格");}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。