C语言文件操作(二)对指定txt文件中的N个数排序

#include<stdio.h>
#include<stdlib.h> 
#include<time.h>
#include<conio.h>
#define N 10000//对指定txt文件中的N个数排序 
int main()
{
	int i;
	void sort(int n,int *p);
	int a[N]={0};
	int* p;//指针
	p = a;
	int n=N;//需要排序的数量
	//读取n个数
	FILE *fp=fopen("after.txt","w");
	FILE *fpRead=fopen("before.txt","r");  
	for(i=0;i<N;i++)  
    {  
        fscanf(fpRead,"%d ",&a[i]);  
    }  
    fclose(fpRead);
    printf("读取完毕...\n");
    //原数组输出 
    printf("排序前:\n");
//    for (i = 0; i < n; i++)
//	{
//		printf("%d ", a[i]);
//	}
	//给n个数排序:冒泡
	sort(n,p);
	//排序后输出
	printf("\n排序后:\n");
	for (i = 0; i < n; i++)
	{
//		printf("%d ", a[i]);
		fprintf(fp,"%d ",a[i]);
	}
} 

void sort(int n,int *p)
{
	printf("\n正在排序...\n");
	void sort(int n,int *p);
	int i,j,temp;
	for (j = 0; j < n; j++)
	{
		for (i = 0; i < n - 1; i++)
		{
			if (*(p + i) > *(p + i + 1))
			{
				temp = *(p + i);
				*(p + i) = *(p + i + 1);
				*(p + i + 1) = temp;
			}
		}
	}
}

猜你喜欢

转载自blog.csdn.net/sinat_42483341/article/details/86223301