#include<stdio.h> int main() { int x,y,z; int i; scanf("%d %d %d",&x,&y,&z); if(x<y&&x<z){ if(z<y){ i=z;z=y;y=i; }} else if(y<x&&y<z){ if(x<z) i=y;z=y;y=i; else{ printf("%d %d %d",y,z,x); return 0; }} else if(z<x&&z<y){ if(x>y) i=x;z=x;y=i; else{ printf("%d %d %d",z,x,y); return 0; }} }
时间: 2024-03-03 11:47:50 浏览: 170
这段代码存在一些问题。首先,你需要在代码开头添加`#include <stdio.h>`头文件,以便使用`scanf()`和`printf()`函数。其次,你需要在函数头部添加返回类型`int`。此外,你需要添加一个`printf()`语句来输出重新排列后的三个数。最后,你需要在所有的`if`和`else`语句中添加花括号,以避免语法错误。下面是修改后的代码:
```c
#include <stdio.h>
int main() {
int x, y, z;
int i;
scanf("%d %d %d", &x, &y, &z);
if (x < y && x < z) {
if (z < y) {
i = z;
z = y;
y = i;
}
} else if (y < x && y < z) {
if (x < z) {
i = y;
y = x;
x = i;
} else {
i = z;
z = y;
y = i;
}
} else if (z < x && z < y) {
if (x > y) {
i = x;
x = z;
z = i;
} else {
i = z;
z = y;
y = i;
}
}
printf("%d %d %d", x, y, z);
return 0;
}
```
注意,这段代码只能对三个整数进行排序,不能处理其他类型的数据。如果你需要对其他类型的数据进行排序,就需要修改代码。