ID非公開さん
2022/5/22 16:51
3回答
c言語 2つの数字を入力して、小さい順に並び替えるプログラミングで0 0と入力したら終了するようにしました。写真のようなコードを書いたのですが、出力されるのは3 5 3 5となります (5 3と入れた場合) また、3 5
c言語 2つの数字を入力して、小さい順に並び替えるプログラミングで0 0と入力したら終了するようにしました。写真のようなコードを書いたのですが、出力されるのは3 5 3 5となります (5 3と入れた場合) また、3 5 といれれば3 5とかえってきます。どこに問題があるのでしょうか?わかる方、お願い致します。
ベストアンサー
5 3 が入力された場合、最初のifでxとyが入れ替わり、 3 5 と表示される。 その後、次のifになったとき、x<yが成り立っているから、また 3 5 と表示される。 後ろのifの前にelseを入れるか、後ろのif全体をelse節にしてしまえば、希望通りの結果になる。 まぁ、簡単にするには、ifから後ろを if(x > y ){ t = x; x = y; y = t; } printf("%d %d\n", x, y); とするだけなんだけどね。
ID非公開さん
質問者2022/5/22 17:08