c - printf 不起作用

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

最佳答案

您的程序运行正常。尝试将所有值从 1000 更改为 10,以便自己测试和查看。

发生的事情是,它打印所有内容的速度如此之快,以至于前 1000 个都从页面上消失了。

关于c - printf 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33272489/

相关文章:

c - 生成表中元素的所有组合(语言 C)

c - 大小未知的可变长度数组

java - JNI 无法识别 jni 原始类型,例如字符串

c - printf 如何在 CUDA 计算上工作 >= 2

c - 为什么这个 C 程序打印字符 2?

c - 无法使用 CMake 错误构建 GLFW

c - 确定在 Linux 中最后修改文件的 UID?

Ruby sprintf 在 1.9 中发挥作用

c - 使用 fprintf 输出 __LINE__ 时出现段错误

c - 什么编译器不支持 printf 标志中的 "%#x"样式?