C 语⾔switch 语句的应⽤练习题
此练习为本⼈⾃⼰练习完成的答案,答案⽅法不⽌⼀种,仅供参考
练习题列表
1-1 五级制成绩 (8 分)
任务描述 五级制成绩表⽰法可以这样来理解,A代表[90-100]、B代表[80-90)、C代表[70-80)、D代表[60-70)、E代表[0-60)。 给出五级制成绩(⼀个字符),请输出这个字符所代表的分数范围。
输⼊格式: ⼀个⼤写的英⽂字符,代表五级制成绩。
输出格式: 在⼀⾏中输出该成绩所表⽰的整数成绩范围区间,如果该字符不在五级制定义范围之内,输出:ERROR。
输⼊样例1:
输出样例1:
输⼊样例2:
输出样例2:
输⼊样例3:
输出样例3:
答案:A
1[90-100]
1D
1[60-70)
1X
1ERROR
1#include <stdio.h>int main (){ char rank ; scanf ("%c",&rank ); switch (rank ) { case 'A': printf ("[90-100]");break ; case 'B': printf ("[80-90)");break ; case 'C': printf ("[70-80)");break ; case 'D': printf ("[60-70)");break ; case 'E': printf ("[0-60)");break ; default : printf ("ERROR\n"); } return 0; }1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1-2 求该⽉天数 (10 分)
求⼀个⽉有多少天,⽤switch完成。
输⼊格式: 输⼊两个整数,如2021 9,第⼀个表⽰年,第⼆个表⽰⽉,输出该⽉的天数。需要考虑闰年。如果⽉份错误,输出ERROR。输出格式:
31
输⼊样例: 在这⾥给出⼀组输⼊。例如:
输出样例: 在这⾥给出相应的输出。例如:
答案:
1-3 两个数的简单计算器 (15 分)
本题要求编写⼀个简单计算器程序,可根据输⼊的运算符,对2个整数进⾏加、减、乘、除或求余运算。题⽬保证输⼊和输出均不超过整型范围。
输⼊格式: 输⼊整数A、符号ch和整数B。
输出格式: 根据符号ch,在⼀⾏中输出A ch B的值。
如果ch是+,则输出A+B的值
如果ch是-,则输出A-B的值2021 9
130
1#include <stdio.h>int main (){ int year ,mouth ; scanf ("%d %d",&year ,&mouth ); switch (mouth ){ case 1: case 3: case 5: case 7: case 8: case 10: case 12:printf ("31");break ; case 4: case 6: case 9: case 11:printf ("30");break ; case 2: if ((year %4==0 && year %100!=0)||year %400==0) { printf ("29"); } else { printf ("28"); } break ; default : printf ("ERROR\n"); } return 0;}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
如果ch是*,则输出A * B的值
如果ch是/,则输出A/B的值(题⽬保证B不为0,并且结果整除整还是整数)如果ch是%,则输出A%B的值
如果ch是其他符号,则直接输出ERROR
输⼊样例1:
输出样例1:
输⼊样例2:
输出样例2:
答案:12+4=16
112+4=16
112&4
1ERROR 1#include <stdio.h>int main (){ int first ,second ,result ; char sign ; scanf ("%d%c%d",&first ,&sign ,&second ); switch (sign ) { case '+': result =first +second ;printf ("%d%c%d=%d",first ,sign ,second ,result );break ; case '-': result =first -second ;printf ("%d%c%d=%d",first ,sign ,second ,result );break ; case '*': result =first *second ;printf ("%d%c%d=%d",first ,sign ,second ,result );break ; case '/': result =first /second ;printf ("%d%c%d=%d",first ,sign ,second ,result );break ; case '%': result =first %second ;printf ("%d%c%d=%d",first ,sign ,second ,result );break ; default : printf ("ERROR\n"); } return 0; }1
switch的用法c语言2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论