c语言 用switch case如何表示一个范围?
用switch函数算一个分段利润的题,别问我为何不用ifelse,题目之准用switch!我想在case函数判断之后接调用函数,但case后面只能接整形数,而题目给出的是...
用switch函数算一个分段利润的题,别问我为何不用if else,题目之准用switch!我想在case函数判断之后接调用函数,但case后面只能接整形数,而题目给出的是范围并要求输入任何数都可以计算。
是要在主函数中先用if强行分段吗? 展开
是要在主函数中先用if强行分段吗? 展开
3个回答
展开全部
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){}调试下程序,看看对不对。
展开全部
#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;
}
}
#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;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要你按照题意,将输入的情况用有限的整数形式来概括表示。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询