首页 > 技术文章 > C 数组排序后输出至文件

tfxz 2020-05-08 17:05 原文

如题

在这里插入图片描述

C实现

#include<stdio.h>
#define COUNT 9 //数组长度+1 
#define FILE_NAME "data.txt" //文件名称 
FILE *fp;

int open(sign);//文件数据流打开 
void read(int *array);//读文件 
void write(int *array);//写文件 
void sortArray(int *array,int length);//数组排序 
void printArray(int *array,int length);//打印数组 
int main(){
	int array[COUNT];
	printf("请输入一个整数:"); 
	scanf("%d",&array[8]); 
	open(1);
	read(array);
	sortArray(array,COUNT);
	open(2);
	write(array);
	printArray(array,COUNT);
	return 0;
}
int open(int sign){
	if(sign==1)
		fp=fopen(FILE_NAME,"r");
	else
		fp=fopen(FILE_NAME,"w");
	if(fp!=NULL){
		return 1;
	}else{
		return 0;
	}
}
void read(int *array){
	fscanf(fp,"%d,%d,%d,%d,%d,%d,%d,%d",&array[0],&array[1],&array[2],&array[3],&array[4],&array[5],&array[6],&array[7]);
	fclose(fp); 
}
void write(int *array){
	fprintf(fp,"%d,%d,%d,%d,%d,%d,%d,%d,%d",array[0],array[1],array[2],array[3],array[4],array[5],array[6],array[7],array[8]);
	fclose(fp); 
}
void sortArray(int *array,int length){
	int i,j,temp;
	for(i=0;i<length;i++){
		for(j=0;j<length-i-1;j++){
			if(array[j]>array[j+1]){
				temp=array[j];
				array[j]=array[j+1];
				array[j+1]=temp;
			}
		}
	}
}
void printArray(int *array,int length){
	int i=0;
	for(;i<length;i++){
		printf("%d ",array[i]);
	}
}

效果

在这里插入图片描述

推荐阅读