【问题标题】:Bubble sort with file in C用C中的文件进行冒泡排序
【发布时间】:2012-01-11 18:25:17
【问题描述】:

我想通过写入文件来实现冒泡排序。我认为排序很好,但是写入文件有问题。

int main(int argc, char *argv[])
{
   FILE *fp; 
   int tab[] = {3,5,1,2,4};
   int i, j, temp;
   if ((fp=fopen("test.txt", "w"))==NULL) {
     printf ("Error!\n");
     exit(1);
   }
   for(i =0; i<5;i++)
   {
     for(j=0; j<4; j++)
     {
       if(tab[j] > tab[j+1])
       {
         temp = tab[j+1];   
         tab[j+1] = tab[j]; 
         tab[j] = temp;
       }
     }
   }

   fprintf (fp, "%d", tab);
   fclose (fp); 
   return 0;
}

你能帮帮我吗?

【问题讨论】:

  • 您是否无法将问题简化为“将数组写入文件”?您是否真的得出结论,我们需要查看排序代码,并且问题与排序有关?您是否尝试过先将未排序的数组打印到文件中?发现自己的弱点是增强实力的第一步。

标签: c file sorting bubble-sort


【解决方案1】:

由于%d 格式字符串指示printf() 打印单个整数,因此代码尝试将指针写入整数数组,就好像它是一个整数一样。

只需循环遍历您的数组并在每次迭代中打印一个int。您还需要确定要使用的分隔符,否则所有整数将并排写入,从而使读者无法理解它们。

【讨论】:

    猜你喜欢
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多