[英]C, clock function return only 0.00000
When i run this code, it print everytime 0.000000 instead of something plausible: 当我运行此代码时,它每次打印0.000000而不是看起来像的东西:
#include <stdio.h>
#include <time.h>
#define n 10
void ordinaVett(int v[], int elem){
clock_t inizio, fine;
double tempo;
int i, j, x, posmin, tmp;
printf("\n\nOrdinamento vettore di %d elementi per %d volte: \n", elem, n);
printf("Sele-sort:\n");
for(x = 0; x < n; x++){
inizio = clock();
//Ordinamento con Sele-sort
for(i = 0; i < elem - 1; i++){
posmin = i;
for(j = i + 1; j < elem; j++){
if(v[j] < v[posmin])
posmin = j;
}
if(posmin != i){
tmp = v[i];
v[i] = v[posmin];
v[posmin] = tmp;
}
}
fine = clock();
//Visualizzazione vettore
for(i = 0; i < elem; i++){
printf("%d |", v[i]);
}
tempo = (double)(fine - inizio)/CLOCKS_PER_SEC;
printf(" Tempo: %f\n", tempo);
}
}
int main(){
srand(time(NULL));
int elementi = 20, i;
int v[elementi];
printf("Creazione vettore 20 elementi: \n");
for(i = 0; i < elementi; i++)
{
v[i] = rand() % 1001;
printf("%d |", v[i]);
}
ordinaVett(v, elementi);
}
What should I do for be able to see a normal output? 我应该怎么做才能看到正常的输出? Thanks! 谢谢!
some words are in Italian so: tempo is time, ordinaVett is sortArray, inizio is start and fine is end. 因此,意大利语中有些单词是:tempo是时间,ordinaVett是sortArray,inizio是开始,Fine是结束。
Ok nevermind, I realized that a CPU is too fast and a double variable couldn't hold a so simple number. 好的,没关系,我意识到CPU速度太快,并且double变量无法容纳这么简单的数字。 This's for sure a pretty dumb exercize to put on a school book. 可以肯定,这很愚蠢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.