gpt4 book ai didi

c - 如何在C中控制执行时间

转载 作者:太空宇宙 更新时间:2023-11-04 03:06:26 24 4
gpt4 key购买 nike

我有一个 C 程序,它将素数打印到一个 .txt 文件中。我想让程序按分钟问我执行时间。尝试用一段代码解决。

#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语言的新手,我无法自己解决它。有人能帮我吗?

最佳答案

一些平台有一个 alarm() 函数,您可以使用它在指定的秒数后向您的应用程序发送信号。

如果您使用的不是 Windows,man alarm 应该会为您提供有关此功能的一些信息。如果您使用的是 Windows,则可能需要不同的方法。


另一方面,您应该考虑使用对您编写的代码有意义的变量名。对于普通读者来说,名称 BX_REGISTER 没有任何意义。也许考虑将其名称更改为 number_to_test(并将 AX_REGISTER 更改为 next_number 或其他名称)。

关于c - 如何在C中控制执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4404816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com