【项目:两段函数求值】
编程序,计算下面函数的值并输出(x取整型即可)
[参考解答]
解法1:
#include <stdio.h>
int main ( )
{
int x, y;
scanf("%d", &x);
if (x>=1)
y=x-1;
else
y=-x+1;
printf("%d\n",y);
return 0;
}
上面的程序,用一个完整的双分支求值,之后再输出。先求解,再输出,这一“顺序”求解的思路很清晰。
相对而言,下面的程序刚求解出来就急着输入,反倒是没有解法1清晰了。从另外一个角度,两个分支中,都是在求值后执行相同的操作(输出y),不如将这一条公共语句提出到分支的后面。再要注意的是,因为操作不能够由一条语句完成,将相关的语句用花括号组成复合语句成为必须。
解法2
#include <stdio.h>
int main ( )
{
int x, y;
scanf("%d", &x);
if (x>=1)
{
y=x-1;
printf("%d\n",y);
}
else
{
y=-x+1;
printf("%d\n",y);
}
return 0;
}