簡體   English   中英

printf不起作用

[英]printf doesn't work

該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]);
        } }

您的程序運行正常。 嘗試將所有內容從1000更改為10,以進行測試並親自觀察。

發生的是,它是如此迅速地打印出所有內容,以至於第一個1000頁面不在頁面上。

代碼正確。

  1. 嘗試小尺寸排列,
  2. 將所有日志寫入文件。

代碼對我來說也很好。 也許您的終端沒有存儲足夠的行供您查看輸出的開始。 您可以在終端的設置中進行更改。 或者,您也可以將它們放在文件中。 如果您用google搜索,有一個簡單的選擇。 另外,在兩者之間添加另一個printf作為標記,如下所示:

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

這將使它變得更加難以錯過。 祝好運!

PS:要將您的輸出顯示為文件,只需在運行程序時鍵入'> filename'。 我調用了我的math.c,因此在運行時鍵入:'$。/ math> file',然后將整個輸出存儲在名為'file'的文件中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM