C语言程序SWITCH语句

来源:百度知道 编辑:UC知道 时间:2024/06/22 20:41:32
有一函数:
当-5<x<0,y=x-1;
当x=0,y=x;
当0<x<8,y=x+1;
编写一程序,要求输入X的值,输出Y的值。一定要用switch语句编写,
if语句编写我会,switch语句不会。
同志们,输入的是非郑型,即输入0.2,得到1.2,怎么输入。而不是输入郑型数据,那个我也会,这是我们书上的一道作业题。用if语句可以搞定0.2,但是switch语句怎么搞定。

楼主好,楼上的哥们好!
楼上的两位哥们都是直接把x当整型处理的,楼主并没有说x是整型啊,对不对?
这是我的程序:
#include <stdio.h>
main()
{
double x,y;
int a;
scanf("%lf",&x);
a=(int)x; /*将x的值强制转换为整形,也就是截去小数点后面的,赋给a*/
switch(a)
{
case -4:y=x-1;break;
case -3:y=x-1;break;
case -2:y=x-1;break;
case -1:y=x-1;break;
/*********************
其实上面这一段可以写成这样
case -4:
case -3:
case -2:
case -1:
y=x-1;break;
简化程序
下边这段也同理....
***********************/
case 7:y=x+1;break;
case 6:y=x+1;break;
case 5:y=x+1;break;
case 4:y=x+1;break;
case 3:y=x+1;break;
case 2:y=x+1;break;
case 1:y=x+1;break;
case 0:y=x;break;
default:printf("Input Error\n");goto loop;
}