这个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]);
} }
答案 0 :(得分:4)
您的程序运行正常。尝试将所有内容从1000更改为10只是为了测试并亲眼看看。
正在发生的事情是它正在快速打印所有内容,以至于前1000页不在页面上。
答案 1 :(得分:1)
代码是正确的。
答案 2 :(得分:1)
Code也适合我。也许您的终端没有存储足够的线路来查看输出的开头。您可以在终端的设置中更改它。或者您可以将它们转换为文件。如果你谷歌它,有一个简单的选择。另外,在其间添加另一个printf作为明显的标记,如:
printf("+++++++++++++++++++++++++++ here is the break point ++++++++++++++++");
这将使它更难以错过它。祝你好运!
PS:只需键入'&gt;即可将输出捕捉到文件中运行程序时的filename'。我打电话给我的math.c所以当我跑的时候我输入了: '$。/ math&gt;文件' 并将整个输出放在名为'file'
的文件中