浙江大学版「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ステートメントを表現する簡単な方法を提供します。三元演算子に精通し、それを使用してコードの量を減らし、簡潔で理解しやすくします。