用switch case 表示分段函数
x>0y=2x这一步输不出来结果,不知道哪里有问题。用switch case 表示。x=0y=0
x<0y=-1
谢谢各位了
#include <stdio.h>
int main()
{
int x,n;
printf("请输入一个整数:");
scanf("%d",&x);
if(x<0){
n=1;
}
if(x=0){
n=2;
}
if(x>0){
n=3;
}
switch(n){
case 1:
printf("-1\n");break;
case 2:
printf("0\n");break;
case 3:
printf("%d\n",2*x);break;
}
return 0;
} 本帖最后由 jackz007 于 2022-11-20 00:40 编辑
第12行
if(x=0){
得改为
if(x == 0){
用三目运算可以简化代码
#include <stdio.h>
int main(void)
{
int x , n ;
printf("请输入一个整数:") ;
scanf("%d" , & x) ;
n = (x < 0) ? 1 : (x == 0) ? 2 : 3 ;
switch(n) {
case 1: printf("-1\n") ; break ;
case 2: printf("0\n"); break ;
case 3: printf("%d\n" , 2 * x) ;
}
} 谢谢你,结果完美输出,也谢谢你的简化{:5_106:}{:5_108:}
页:
[1]