题目要求编写一个函数fun(),其功能能够是用选择法将10个整数按降序进行排序,结果写入文件result.txt中。其中,已知main函数,要求编写fun函数以及myprintf函数。
时间: 2023-06-24 10:09:15 浏览: 110
C语言程序设计-编写函数fun对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果;
5星 · 资源好评率100%
下面是fun()和myprintf()函数的实现:
```c
#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[10];
int i, j, max, temp;
// 读入10个整数
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 选择排序,降序
for (i = 0; i < 9; i++) {
max = i;
for (j = i + 1; j < 10; j++) {
if (arr[j] > arr[max]) {
max = j;
}
}
temp = arr[i];
arr[i] = arr[max];
arr[max] = temp;
}
// 输出结果
printf("排序结果为:\n");
myprintf(arr, 10);
// 将结果写入文件
FILE *fp = fopen("result.txt", "w");
if (fp == NULL) {
printf("打开文件失败!\n");
return;
}
for (i = 0; i < 10; i++) {
fprintf(fp, "%d ", arr[i]);
}
fclose(fp);
printf("结果已写入result.txt文件中!\n");
}
int main() {
fun();
return 0;
}
```
在上面的代码中,myprintf()函数用于输出数组中的元素,fun()函数用于读取10个整数,使用选择排序将其降序排列,并将结果写入文件result.txt中。注意,文件操作需要使用文件指针和fopen()、fclose()、fprintf()等函数。
阅读全文