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小时内删除。