int Fun1(int num)
创新互联公司是一家专注于网站制作、成都做网站与策划设计,盘州网站建设哪家好?创新互联公司做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:盘州等地区。盘州做网站价格咨询:18982081108
{
if(num 0)
{
return num;
}
else if(num 10)
{
return num - 10;
}
else
{
return num + 10;
}
}
int Fun2(int num)
{
if(num 10)
{
if(num 0)
{
return num;
}
else
{
return num -10;
}
}
else
{
return num +10;
}
}
int Fun3(int num)
{
switch(num0)
{
case 0:
{
switch(num10)
{
case 0:
return num +10;
case 1:
return num - 10;
}
}
case 1:
return num;
}
}
你确定y也是0-40间的整数吗?如果是的话,那么该分段函数中的第三段计算的结果已经超出了数值范围啊;如果y的取值没有限制,那么程序如下:
#include
stdio.h
void
main
()
{
int
x,y;
scanf("%d",x);
if(x=0x10)
y=x;
else
if(x=10x20)
y=10;
else
if(x=20x40)
y=x*x+3;
else
{
printf("error:x不是0-40之间的整数!\n");
return;
}
printf("%d\n",y);
}
scanf是输入,是不可以指定精度的,所以 scanf("%.1f", x) ;这样的写法是错误的
而且double是要用lf, 应该是scanf("%lf", x) ;
还有double ff();这个声明要和实体以及调用一致,应该是double ff( double x) ;
几个条件不同的可以用if ... else if ... else. 这样还可以少用一个变量,你那种写法不推荐
帮你改了下代码,VC6测试通过,自己看看吧。
#includestdio.h
int main()
{
float x,y;//根据给定的测试用例,x,y应该为float型
scanf("%f",x);//x为float型,所以改为%f
if(x20)
{
y=x+100;
}
else if(x=20x=100)
{
y=x;
}
else
y=x-100;
printf("x=%f,y=%f\n",x,y);
return 0;//缺少分号
}
#includestdio.h
int main()
{
float x,y;
scanf("%f",x);
if(x1)
{
y=x*x;
}
else if(x=1x=10)
{
y=2*x-1;
}
else
y=3*x-11;
printf("x=%f,y=%f\n",x,y);
return 0;
}
#include stdio.h
int main()
{double x,y;
scanf("%lf",x);
if(x0)y=x*x-1;
else if(x1)y=x*x;
else y=x*x+1;
printf("%g",y);
return 0;
}