printf不起作用

时间:2015-10-22 02:37:08

标签: c printf

这个C代码应该创建一些随机数并打印它们,然后对它们进行排序并再次打印它们,但它只是打印已排序的数字。任何身体可以帮助我吗?

    #include <stdio.h>
    #include <time.h>
    #include <stdlib.h>
    int main(){
        int i, j, k;
        float temper;
        time_t t;
        float grades[1000];
        fflush(stdout);
        printf("Here are the number\n");
        srand(time(&t));
        for(i=0;i<1000;i++){
            grades[i]=rand();
            printf("%f\n", grades[i]);
        }
        for(i=0;i<1000;i++){
            int swap=0;
            for(j=i;j<1000;j++){
                if(grades[i]>grades[j]){
                    temper=grades[i];
                    grades[i]=grades[j];
                    grades[j]=temper;
                    swap=1;
                }
            }
        }
        printf("sorting is done");
        for(i=0;i<1000;i++){
            printf("%f\n", grades[i]);
        } }

3 个答案:

答案 0 :(得分:4)

您的程序运行正常。尝试将所有内容从1000更改为10只是为了测试并亲眼看看。

正在发生的事情是它正在快速打印所有内容,以至于前1000页不在页面上。

答案 1 :(得分:1)

代码是正确的。

  1. 尝试使用小尺寸阵列
  2. 将所有日志写入文件。

答案 2 :(得分:1)

Code也适合我。也许您的终端没有存储足够的线路来查看输出的开头。您可以在终端的设置中更改它。或者您可以将它们转换为文件。如果你谷歌它,有一个简单的选择。另外,在其间添加另一个printf作为明显的标记,如:

printf("+++++++++++++++++++++++++++ here is the break point ++++++++++++++++");

这将使它更难以错过它。祝你好运!

PS:只需键入'&gt;即可将输出捕捉到文件中运行程序时的filename'。我打电话给我的math.c所以当我跑的时候我输入了:     '$。/ math&gt;文件' 并将整个输出放在名为'file'

的文件中