急。。。C语言问题。。

来源:百度知道 编辑:UC知道 时间:2024/05/16 02:09:36
1.编程计算下面函数值,分别要求用if和switch语句来实现。

x/2 (x<1)
y={ 2x-1 (1<=x<10)
-x+11 (x>=10)

2.编程题实现:输入4个数,按代数值由大到小次序输出这4个数。

急啊。。。诸位全靠你们了。。。。
明天之前要交啊。。速度啊。。。

switch不可以用是什么原因?

其实重点switch的问题。。我写出来了。。检验也正确但是无论输入什么数字结果都为0。。不知道为什么啊。。我是想看下别人写的和自己有什么区别罢了。。。

1.
if的不用写了吧。。。

switch的比较恶心 。。。
#include <stdio.h>
void main()
{
int x,y,n=5;
scanf("%d",&x);
if(x<1)
n=0;
if(x>=10)
n=1;
switch(n)
{
case 0:y=x/2;break;
case 1:y=-x+11;break;
default:y=2*x-1;
}
printf("y = %d\n",y);
getch();
}
------------------------
如不想在switch中在出现if你也可以这么做
#include <stdio.h>
void main()
{
int x,y,n;
scanf("%d",&x);
n=(x<1)?0:(x>=10?1:2);
switch(n)
{
case 0:y=x/2;break;
case 1:y=-x+11;break;
default:y=2*x-1;
}
printf("y = %d\n",y);
getch();
}
************************************************
2.
如Riandrop 用个冒泡法就可解决。 其它方法很多 你可多多锻炼。

1、if(x<1) x/2;
else if(1