从文件读入一组数到待排序数组的函数用来被排序算法调用,本人很菜请指出错误的同时给出代码
#include<iostream>#include<fstream>#include<stdlib.h>#include<stdio.h>#define LEN 10void getarray(int* array,int n){ int index=0; FILE *fp = fopen("data.txt","r"); if(0==fp) return; while(!feof(fp)&&index<n) { fscanf(fp,"%d,",&array[index]); ++index; }}void BubbleSort(int a[],int n){ int i,j,temp; for(j=0;j<n-1;j++) { for(i=0;i<n-j-1;i++) { if(a[i]>a[i+1]) { temp=a[i+1]; a[i+1]=a[i]; a[i]=temp; } } }}int main(){ int array[10]; getarray(array,10); //int a[10]={2,4,6,3,7,9,8,10,1,5}; BubbleSort(array,10); for(int i=0;i<10;i++) { cout<<array[i]<<"\t"; } return 0;} inFile("data.txt");if(inFile==0) return 0;int i=0;while(i<n) inFile>>array[i++];试一下,手头没有编译器,
[解决办法]
fscanf(fp,"%d,",&array[index]);
有逗号的话,文件内各数据之间须用逗号隔开,
而你的文件中没有逗号..