浙大版《C语言程序设计(第3版)》题目集
习题5-1 符号函数 (10分)
本题要求实现符号函数sign(x)。
函数接口定义:
int sign( int x );
其中x
是用户传入的整型参数。符号函数的定义为:若x
大于0,sign(x)
= 1;若x
等于0,sign(x)
= 0;否则,sign(x)
= −1。
裁判测试程序样例:
#include <stdio.h>
int sign( int x );
int main()
{
int x;
scanf("%d", &x);
printf("sign(%d) = %d\n", x, sign(x));
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
10
输出样例:
sign(10) = 1
代码实现1:
int sign (int x)
{
int a;
if(x>0){
a=1;
}else if(x==0){
a=0;
}else{
a=-1;
}
return a;
}
代码实现2:
int sign( int x ){
int flag=0;
flag = (x==0) ? 0 : ((x>0) ? 1 : -1);
return flag;
}
提交结果:
总结:
三目运算符提供了一种表达简单 if-else 语句的简写方法。熟练掌握三目运算符并且运用后可以减少代码量,使之简洁易懂。