70,027
社区成员




#include <stdio.h>
#include <time.h>
int main()
{
for(int i=0;i<=10000;i++)
i++;
for(int j=0;j<=10000;j++)
j++;
printf("Time1= %lf\n",(double)clock()/CLOCKS_PER_SEC);
return 0;
}
//例题:3-1
#include <stdio.h>
#include <string.h>
#include <time.h>
#define MAXN 1000+10
int a[MAXN];
int main(void)
{
int i,j,n,k,first;
FILE *fin,*fout;
fin=fopen("input.txt","r");
fout=fopen("output.txt","w");
while( fscanf(fin,"%d%d",&n,&k) == 2 )
{
first=1;
memset( a,0,sizeof(a) );
for(i=1;i<=n;i++)
for(j=1;j<=k;j++)
if(i %j == 0) a[i]=!a[i];
for(i = 1; i <= n; i++)
{
if(a[i])
{
if(first) first=0;
else fprintf(fout," ");
fprintf(fout,"%d",i);
}
}
fprintf(fout," Time= %lf\n",(double)clock()/CLOCKS_PER_SEC);
}
fclose(fin);
fclose(fout);
return 0;
}
2 1
2 2
3 1
4 1
4 2
4 3
4 4
7 3
1 2 Time= 0.002000
1 Time= 0.002000
1 2 3 Time= 0.002000
1 2 3 4 Time= 0.002000
1 3 Time= 0.002000
1 Time= 0.002000
1 4 Time= 0.002000
1 5 6 7 Time= 0.002000
1 2 Time= 0.002000
1 Time= 0.002000
1 2 3 Time= 0.002000
1 2 3 4 Time= 0.002000
1 3 Time= 0.002000
1 Time= 0.002000
1 4 Time= 0.002000
1 5 6 7 Time= 0.002000
每个Time的时间为什么相等?[/quote]
你去看clock的文档。你问的问题里面早就有说明。我不想把文档里每一句话重复一遍。但是我的第一个代码没有输入输出,就只有两个for循环之后,就直接输出出程序的时间, 但是它输出0. [quote=引用 1 楼 FancyMouse 的回复:] clock计算的是cpu时间,io挂起等待的时间不算在里面的。
1 2 Time= 0.002000
1 Time= 0.002000
1 2 3 Time= 0.002000
1 2 3 4 Time= 0.002000
1 3 Time= 0.002000
1 Time= 0.002000
1 4 Time= 0.002000
1 5 6 7 Time= 0.002000
每个Time的时间为什么相等?但是我的第一个代码没有输入输出,就只有两个for循环之后,就直接输出出程序的时间, 但是它输出0. clock计算的是cpu时间,io挂起等待的时间不算在里面的。
但是我的第一个代码没有输入输出,就只有两个for循环之后,就直接输出出程序的时间, 但是它输出0. clock计算的是cpu时间,io挂起等待的时间不算在里面的。
clock计算的是cpu时间,io挂起等待的时间不算在里面的。