【发布时间】:2020-09-12 04:53:09
【问题描述】:
我做了一个排序算法,当我需要排序的数字在代码中的数组中时,它可以正常工作,如下所示:
int sort[] = {16,8,23,4,42,15};
但是我需要代码来对 .txt 文件中的数字进行排序,我确实知道文件的大小(因此不需要 sizeof 来知道您需要排序多少个数字)但问题是文件中的数字不是用逗号分隔的,只有空格,而且我不知道如何让我的代码对这个数字列表进行操作。
我的代码是这样的,就像我说的,当数字的排序数组在以逗号分隔的代码内时,它可以工作:
int main(){
int temp, size;
int sort[] = {16,8,23,4,42,15};
size = sizeof(sort) / sizeof(int);
for(int j = 0; j < size; j++){
for(int i = 0; i < size; i++){
if(sort[i] > sort[i+1]){
temp = sort[i];
sort[i] = sort[i+1];
sort[i+1] = temp;
}
}
}
for(int p = 0; p < size; p++){
printf("%d ", sort[p]);
}
}
而且我也知道用 C 打开文件的代码是这样的:
FILE* f;
f = fopen("1000.txt", "r");
if(f == 0){
printf("Database unavaible or corrupted\n\n");
exit(1);
}
但我不知道下一步该做什么,我如何获取这个未排序的数字而不用逗号分隔的文件,并使我的代码排序并打印它们?
【问题讨论】: