试题题干
从键盘输入x的值,根据以下公式计算并输出x和y 的值。

#include<math.h>
#include<stdio.h>
main()
{ float x,y;
scanf("%f",______); /*第一空*/
if(x<0)printf("input error!\n");
else
{switch ((int)(x/2))
{case 0:y=x;_______; /*第二空*/
case 1:
case 2:y=x*x+1;break;
case 3:
case 4:y=_____________;break; /*第三空*/
default :y=1/(x*x+1);
}
printf("x=%7.2f,y=%10.6f\n",x,y);
}
}
参考答案
试题解析
首先是要从键盘输入x的值,即第一空应填入&x;
因为在case0中已经有y的表达式,即在(int)(x/2)=0时输出y的值且结束当前循环,故第二空应填入break;
因为(int)(x/2)=4,所以输出的表达式为y=sqrt(x+1),即第三空应填入sqrt(x+1)。