#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAXSIZE 100
void Sort(int a[],int n) {
int i,j,k,t;
for(i = 0; i < n - 1; ++i) {
k = i;
for(j = i + 1; j < n; ++j)
if(a[k] > a[j]) k = j;
if(i != k) {
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
}
void show(int a[],int n ) {
int i;
for(i = 0; i < n; ++i) {
if(i &&i%10 == 0) printf("\n");
printf("%4d",a[i]);
}
if(i%10) printf("\n");
}
int main() {
int a[MAXSIZE],i,n;
int arr[MAXSIZE];
FILE *pfw,*pfr;
char unsorted[] = "undata.txt";//排序前的数据文件
char sorted[] = "data.txt";//排序后的数据文件
pfw = fopen(unsorted,"wt");
if(pfw == NULL) {
printf("无法打开文件:%s\n",unsorted);
exit(1);
}
srand((unsigned)time(NULL));
for(i = 0; i < MAXSIZE; ++i) {
a[i] = rand()%1000;//数的大小控制在0--999之间
if(i && i%10 == 0) fprintf(pfw,"\n");
fprintf(pfw,"%d ",a[i]);
}
if(i%10) fprintf(pfw,"\n");
fclose(pfw);
printf("\n\n排序前:\n");
show(a,MAXSIZE);
pfr = fopen(unsorted,"rt");
if(pfr == NULL) {
printf("无法打开文件:%s\n",unsorted);
exit(1);
}
n = 0;
for(i = 0; i < MAXSIZE&&!feof(pfr);++i) {
fscanf(pfr,"%d",&arr[i]);
}
fclose(pfr);
Sort(arr,MAXSIZE);
printf("\n\n排序后:\n");
show(arr,MAXSIZE);
pfw = fopen(sorted,"wt");
for(i = 0; i < MAXSIZE; ++i) {
if(i && i%10 == 0) {
fprintf(pfw,"\n");
}
fprintf(pfw,"%d ",arr[i]);
}
fclose(pfw);
printf("\n\n");
return 0;
}