3つの整数を入力し、プログラムにデータを小さい順にx y zに入れて出力するように要求します(C)
7973 ワード
まず硬直した方法を書きます.
コードの簡略化:
3つの数をインクリメンタルソートするだけなので、ソートアルゴリズムを使用する必要はありません.3つのデータをそれぞれ3回比較し,スイッチ(t変数)を借りて順序の合わない2つの数を交換すればよい.
#include
// , x y z , x y z ,
int main()
{
int x, y, z, t;
printf("
");
scanf("%d%d%d", &x, &y, &z);
if (y <= x&&x <= z)t = x, x = y, y = t;
else if (x <= z&&z <= y)t = y, y = z, z = t;
else if (y <= z&&z <= x)t = x, x = y, y = z, z = t;
else if (z <= y&&y <= x)t = x, x = z, z = t;
else if (z <= x&&x <= y)t = y, y = x, x = z, z = t;
printf("%d %d %d", x, y, z);
return 0;
}
コードの簡略化:
3つの数をインクリメンタルソートするだけなので、ソートアルゴリズムを使用する必要はありません.3つのデータをそれぞれ3回比較し,スイッチ(t変数)を借りて順序の合わない2つの数を交換すればよい.
int main()
{
int x, y, z, t;
printf("
");
scanf("%d%d%d", &x, &y, &z);
if(x > y){
t = x;
x = y;
y = t;
}
if(x > z){ // , x
t = x;
x = z;
z = t;
}
if(y > z){
t = y;
y = z;
z = t;
}
printf("%d %d %d", x, y, z);
return 0;
}