c语言 用switch case如何表示一个范围?

用switch函数算一个分段利润的题,别问我为何不用if else,题目之准用switch!我想在case函数判断之后接调用函数,但case后面只能接整形数,而题目给出的是范围并要求输入任何数都可以计算。
是要在主函数中先用if强行分段吗?

1、首先打开C-Free5.0,然后一个空白的C语言页面保存为switch.c文件,继续输入一般的C语言的基础格式。

2、C语言的输入语句,首先定义一个整型数值,然后从外面写入这个值。#include <stdio.h>main(){int a;printf("请输入一个1-5之间的数值: ");scanf("%d",&a);}这里的scanf() 就是从外面读入一个值给a。

3、要看下输入的值是不是赋值给了a,可以把a的值输出,如下图调试。从下图可以得出,a的值就是输入的值。

4、接着按照获得的值来执行相应的步骤,代码如下图。

5、从系统中输入一个数值,然后switch根据读到的数值判断应该做什么,注意,输入的值必须是定义的值,就比如本程序里面switch里面是一开始定义的a.int a;printf("请输入一个1-5之间的数值: ");scanf("%d",&a);switch (a){}调试下程序,看看对不对。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-27
#define Min1 5
#define Max1 15
#define Min2 15
#define Max2 20
void switch_range()
{
//方法① switch语句可以用…来判断范围,要注意其边界条件(且为包含)
switch(x)
{
case Min1 ... Max1: //等价于 5<=x && x<=15;
;
break;
case Min2 ... Max2: //等价于 15<=x && x<=20;
;
break;
default:
break;
}
//方法② 另一种常用方法是将其 “/5取商” 常量判断
int x;
switch(x/5)
{
case 1: //5-9
case 2: //10-14
printf("5-14");
break;
case 3: //15-19
printf("15-19");
break;
default:
;
break;
}
}
第2个回答  2015-09-21
需要你按照题意,将输入的情况用有限的整数形式来概括表示。本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网