编写一个函数fun(),其功能能够是用选择法将5个整数按降序进行排序,结果写入文件result.txt中。其中,已知main函数,要求编写fun函数以及myprintf函数。
时间: 2024-05-11 07:17:47 浏览: 12
好的,根据您的要求,我可以编写出以下fun函数和myprintf函数的代码:
```
#include <stdio.h>
void myprintf(int arr[], int n) // 自定义打印函数
{
int i;
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
void fun() // 选择法排序函数
{
int arr[5] = {4, 2, 1, 5, 3}; // 原始数据
int n = 5, i, j, temp;
for (i = 0; i < n - 1; i++){
for (j = i + 1; j < n; j++){
if (arr[i] < arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
FILE *fp;
fp = fopen("result.txt", "w"); // 将排序结果输出到result.txt文件中
for (i = 0; i < n; i++) {
fprintf(fp, "%d ", arr[i]);
}
fclose(fp);
myprintf(arr, n); // 调用自定义打印函数在控制台输出排序结果
}
```
需要注意的是,这段代码并没有进行错误处理的语句,当文件无法创建或打开时程序可能会崩溃,这在实际应用中是不可取的。但为了保持代码简洁易懂,我在这里并未加入错误处理的代码。