void main()
{
int x,y;
scanf("%d",&x);
if(x<1)
{
y=x;
printf("x=%3d, y=x=%d\n",x,y);
}
else if(x<10)
{
y=2*x-1;
printf("x=%3d, y=2*x-1=%d\n",x,y);
}
else
{
y=3*x-11;
printf("x=%3d, y=3*x-11%d\n",x,y);
}
}
大家!这个语句要用switch写出!要怎么改写!!
这段代码因该使用if 而不是 switch(){}
强行使用 switch(){} ,没有任何意义
/* 无聊的 switch(){} 版 */
#include <stdio.h>
int main(void)
{
int x, y;
int c;
scanf("%d", &x);
if(x < 1)
c = 1;
else if(x < 10)
c = 2;
else
c = 3;
switch(c)
{
case 1:
y = x;
printf("x=%3d, y=x=%d\n",x,y);
break;
case 2:
y = 2*x-1;
printf("x=%3d, y=2*x-1=%d\n",x,y);
break;
case 3:
y = 3*x-11;
printf("x=%3d, y=3*x-11%d\n",x,y);
break;
}
return 0;
}
/* 搂主因该去了解一下 switch(){} 的语法 */
[此贴子已经被作者于2007-11-11 20:58:48编辑过]
回个不一样的switch(),不算变态吧,以前学BASIC时见过的编程思路,不知现在还有没有人在用。
#include <stdio.h>
int main(void)
{
int x, y;
int c;
scanf("%d", &x);
c=(x<1)*1+(x>=1&&x<10)*2+(x>=10)*3;
switch(c)
{
case 1:
y = x;
printf("x=%3d, y=x=%d\n",x,y);
break;
case 2:
y = 2*x-1;
printf("x=%3d, y=2*x-1=%d\n",x,y);
break;
case 3:
y = 3*x-11;
printf("x=%3d, y=3*x-11%d\n",x,y);
break;
}
return 0;
}
发个问题
不用 if语句,也不用?:运算,输出两个int型整数中的较大数。这两个数从键盘输入。大家想一想。