急。。。C语言问题。。
1.编程计算下面函数值,分别要求用if和switch语句来实现。
x/2 (x<1)
y={ 2x-1 (1<=x<10)
-x+11 (x>=10)
2.编程题实现:输入4个数,按代数值由大到小次序输出这4个数。
急啊。。。诸位全靠你们了。。。。
参考答案: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 用个冒泡法就可解决。 其它方法很多 你可多多锻炼。