#include <stdio.h>
#include <stdlib.h> // 建议加上
int main() {
int a, b, c, d; // d 用作交换时的临时变量
FILE *fp;
printf(“请输入三个整数: “);
scanf(“%d %d %d”, &a, &b, &c);
// — 排序逻辑修正 —
// 目标:a(大) -> b(中) -> c(小)
// 第一步:确保 a 是 a和b 中较大的
if (a < b) {
d = a;
a = b;
b = d;
}
// 第二步:确保 a 是 a和c 中较大的 (此时a就是三个数里最大的)
if (a < c) {
d = a;
a = c;
c = d;
}
// 第三步:比较剩下的 b 和 c,确保 b 比 c 大
if (b < c) {
d = b;
b = c;
c = d;
}
// — 文件操作修正 —
fp = fopen(“result.txt”, “w”);
// 必须检查文件是否成功打开,如果失败必须停止程序
if (fp == NULL) {
printf(“无法打开文件 result.txt 进行写入!\n”);
return 1; // 错误退出,防止后面崩溃
}
// 写入文件
fprintf(fp, “%d %d %d”, a, b, c);
printf(“排序完成,结果已写入 result.txt 文件。\n”);
fclose(fp); // 记得关闭文件
return 0;
}