我有一个C程序,它将素数打印到.txt文件中。 我希望程序以几分钟的时间向我询问执行时间。试着用这段代码解决。如何控制执行时间C
#include <stdio.h>
#include <time.h>
int main()
{
execute();
return(0);
}
int execute(int minute)
{
time_t now;
time(&now);
struct tm *tmp = localtime(&now);
printf("How long you want to execute the program by minute? ");
scanf("%d",&minute);
printf("%d %02d %02d\n",tmp->tm_hour, tmp->tm_min+minute, tmp->tm_sec);
return(minute);
}
这里也是我想运行的代码。
#include <stdio.h>
int isprime(int x);
int main(void)
{
int AX_REGISTER, BX_REGISTER;
FILE *number, *primes;
int forever = 1;
while (forever)
{
if ((number = fopen("lastnumber.txt", "r")) == NULL)
{
fprintf(stderr, "Cannot read LASTNUMBER.txt file.\n");
return 1;
}
fscanf(number,"%d",&AX_REGISTER);
fclose(number);
BX_REGISTER=AX_REGISTER;
AX_REGISTER=AX_REGISTER+1;
if ((number = fopen("lastnumber.txt", "w")) == NULL)
{
fprintf(stderr, "Cannot write LASTNUMBER.txt file.\n");
return 1;
}
fprintf(number,"%d\n",AX_REGISTER);
fclose(number);
if (isprime(BX_REGISTER))
{
if ((primes = fopen("primes.txt", "a")) == NULL)
{
fprintf(stderr, "Cannot open PRIMES.txt file.\n");
return 1;
}
fprintf(primes,"%d\n",BX_REGISTER);
fclose(primes);
}
}
return 0;
}
int isprime(int x)
{
int i;
for (i=2;i<x;i++)
{
if (x%i==0)
return 0;
}
return 1;
}
因为我是C编程语言的新手,我不能自己解决它。有人能帮我吗?
如果这是基准测试,那么通常运行到其他指定的限制,然后看看它花了多长时间,而不是你想要做什么更好。 – 2010-12-10 01:24:10