3つの値を昇順に並び替えたいのですが、うまくいきませんでした。どのようにしたらよいのでしょうか
#include <stdio.h>
void swap(int *nx, int *ny)
{
int temp = *nx;
*nx = *ny;
*ny = temp;
}
void sort3(int *n1, int *n2, int *n3)
{
if (*n1 > *n2) swap(n1, n2);
if (*n2 > *n3) swap(n2, n3);
if (*n1 > *n2) swap(n1, n2);
}
int main(void)
{
int x,y,z;
printf("x:\n");
scanf("%d",&x);
printf("y:\n");
scanf("%d",&y);
printf("z:\n");
scanf("%d",&z);
printf("x:%d,y:%d,z:%d\n",x,y,z);
printf("昇順に並びかえると\n");
sort(&y,&z);
sort(&x,&y);
sort(&y,&z);
printf("x:%d,y:%d,z:%d\n",x,y,z);
return 0;
}
回答1件
あなたの回答
tips
プレビュー