当前位置:首页 » 编程语言 » c语言终止时间的计算方法
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言终止时间的计算方法

发布时间: 2022-05-26 06:49:58

‘壹’ c语言编程,怎么计算时间

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

void main()

{

unsigned char time1[] = {10, 8, 31, 9, 26 };

unsigned char time2[] = { 10, 8, 31, 9, 50 };

struct tm t1 = {0};

struct tm t2 = {0};

time_t _t1;

time_t _t2;

double diff;

t1.tm_year = time1[0] + 100;

t1.tm_mon = time1[1];

t1.tm_mday = time1[2];

t1.tm_hour = time1[3];

t1.tm_min = time1[4];

t2.tm_year = time2[0] + 100;

t2.tm_mon = time2[1];

t2.tm_mday = time2[2];

t2.tm_hour = time2[3];

t2.tm_min = time2[4];

_t1 = _mkgmtime( &t1 );

_t2 = _mkgmtime( &t2 );

diff = difftime(_t2, _t1 );

printf( "相差 %.0f 分钟 ", diff / 60 );

}

(1)c语言终止时间的计算方法扩展阅读:

C语言中有两个相关的函数用来计算时间差,分别是:

time_t time( time_t *t) 与 clock_t clock(void)

头文件: time.h

计算的时间单位分别为: s , ms

time_t 和 clock_t 是函数库time.h 中定义的用来保存时间的数据结构

返回值:

1、time : 返回从公元1970年1月1号的UTC时间从0时0分0秒算起到现在所经过的秒数。如果参数 t 非空指针的话,返回的时间会保存在 t 所指向的内存。

2、clock:返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数。 1单元 = 1 ms。

所以我们可以根据具体情况需求,判断采用哪一个函数。

具体用法如下例子:

#include <time.h>

#include <stdio.h>

#include <stdlib.h>

int main()

{

time_t c_start, t_start, c_end, t_end;

c_start = clock(); //!< 单位为ms

t_start = time(NULL); //!< 单位为s

system("pause");

c_end = clock();

t_end = time(NULL);

//!<difftime(time_t, time_t)返回两个time_t变量间的时间间隔,即时间差

printf("The pause used %f ms by clock() ",difftime(c_end,c_start));

printf("The pause used %f s by time() ",difftime(t_end,t_start));

system("pause");

return 0;

}

因此,要计算某一函数块的占用时间时,只需要在执行该函数块之前和执行完该函数块之后调用同一个时间计算函数。再调用函数difftime()计算两者的差,即可得到耗费时间。

‘贰’ 在c语言里想要获得程序运行的开始时间和结束时间,怎么写

这样干,你少写了两行
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf("程序运行开始,Currentlocal time and date: %s\n", asctime(timeinfo));
……
time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf("程序运行结束,Currentlocal time and date: %s", asctime(timeinfo));

‘叁’ C语言编程 关于计算时间的问题 望高手解答!

希望能够我的思路可以帮助你:
①如果password="124567"时,欢迎进入!
②如果password != "124567"时,等待15分钟!
③等待15分钟后返回重新输入密码!

#include <stdio.h>
#include <string.h>
#include<windows.h>
int main()
{
char str[20], password;
int x,i;
//执行4次循环0,1,2,3
for(x=0; x<=3 && strcmp(str,"1234567")!=0; x++)
{
printf("Enter password please:");
scanf("%s",&str);
//当密码错误时提示输入错误!
if(strcmp(str,"1234567")!=0)
{
printf("Input error!\n");
}
//当错误了3次时执行等待,并重置x的初值
if(x==2)
{
printf("Please wait another 15 min.");
for(i=0;i<=(15*60);i++)
Sleep(1000); //停滞一秒
//重置x的初值
x=0;
}
else
//密码输入正确时跳出循环,执行for循环之外的语句
{
if(strcmp(str,"1234567")==0)
printf("Welcome\n");
break;
}
}
//可以插入验证后要执行的代码
return 0;
}

‘肆’ C语言运行一条语句所用时间如何计算

unsigned long HighStart,LowStart,HighEnd,LowEnd;
__int64 start =0;
__int64 end = 0;
__int64 timer =0;

//获取代码运行开始时cpu内部计数器的值
__asm
{
RDTSC
mov HighStart, edx
mov LowStart, eax
}
for(int i= 0; i<100000; i++ )
{
for(int i= 0; i<100000; i++ )
{

}
}
//获取代码结束时cpu内部计数器的值,并减去初值
__asm
{
RDTSC
mov HighEnd, edx
mov LowEnd, eax
}
start = (__int64) HighStart<<32;
start |= (__int64) LowStart;
end = (__int64) HighEnd<<32;
end |= (__int64) LowEnd;
timer = end - start;

//输出代码段运行的时钟周期数
//以频率1.1Gcpu为例,如果换计算机把其中的2.6改乘其它即可,因为相信大家的cpu都应该在1G以上 ^_^
cout<< (double) (timer /2.6/1000000000) << endl;
return 0;

‘伍’ C语言计算时间

在C语言中计算时间,可以使用标准库中的计时函数——clock()。

函数原型:

clock_tclock(void);

其中clock_t是用来保存时间的数据类型,在time.h文件中,可以找到对它的定义:

#ifndef_CLOCK_T_DEFINED
typedeflongclock_t;
#define_CLOCK_T_DEFINED
#endif


很明显,clock_t是一个长整形数。在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:

#defineCLOCKS_PER_SEC((clock_t)1000)

可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。下面举个例子,可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间:

voidelapsed_time()
{
printf("Elapsedtime:%usecs. ",clock()/CLOCKS_PER_SEC);
}

当然,也可以用clock函数来计算的机器运行一个循环或者处理其它事件到底花了多少时间:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain(void)
{
longi=10000000L;
clock_tstart,finish;
doubleration;
printf("Timetodo%ldemptyloopsis",i);
start=clock();
while(i--);
finish=clock();
ration=(double)(finish-start)/CLOCKS_PER_SEC;
printf("%fseconds ",ration);
system("pause");
}

‘陆’ 怎么用C语言计算过程运行时间具体点,文件头,等等...

//vc环境
<time.h>
clock_t tb,te;
tb=clock(NULL);
for(int i=0;i<1000000;i++)
for(int j=0;j<1000000;j++)
;
te=clock(NULL);
cout << (te-tb)/CLK_TK << "毫秒"

‘柒’ 这个题目用c语言怎么编:编写一个程序,计算用户输入的起始时间和终止时间之间的相距天数

你把这个程序的birth都改成start就行了
其实不改也无妨

#include <stdio.h>

//判断是否闰年
bool IsLeapYear( int year )
{
return ( year % 400==0 || ( year %4==0 && year %100 !=0 ) );
}

//获取某年中某月的天数
int GetDaysOfMonth( int year, int month )
{
int day = 31;
if ( month >12 || month < 0 )
{
return 0;
}
switch ( month )
{
case 4:
case 6:
case 9:
case 11:
day=30;
break;
case 2:
day = ( IsLeapYear( year) ) ? 29 : 28;
break;
default:
break;
}
return day;
}
//计算两个日期间的天数
void FunctionFour( int birthYear, int birthMonth, int birthDay, int year, int month, int day )
{
int iResult=0;
for ( int i=birthYear; i<=year; i++ )
{
iResult += ( ( IsLeapYear(i) ) ? 366 : 365);
}
for ( int i=1; i<birthMonth; i++ )
{
iResult -= GetDaysOfMonth( birthYear, i );
}
for ( int i=1; i < birthDay; i++ )
{
iResult--;
}

for ( int i=month; i <=12; i++ )
{
iResult -= GetDaysOfMonth( year, i );
}
for ( int i=1; i < day; i++ )
{
iResult++;
}

printf("\n%d年%d月%日-%d年%d月%d日 = %d天\n", year, month, day, birthYear, birthMonth, birthDay );

}

int main()
{
char ch;
int year, month, day;
int birthYear, birthMonth, birthDay;

printf( "请输入你的生日(年月日, 以空格分隔):");
scanf( "%d%d%d", &birthYear, &birthMonth, &day );
printf( "\n请输入计算日期(年月日, 以空格分隔):");
scanf( "%d%d%d", &year, &month, &birthDay );

FunctionFour( birthYear, birthMonth, birthDay, year, month, day);

printf( "Any key to exit...");
scanf( "%c", &ch);

return 0;
}

‘捌’ 计算C语言程序运行时间(hello world)

#include "time.h"
#include "stdio.h"

main()
{
double start, finish;

start = clock();//取开始时间

printf("Hello, World!\n");

finish = clock();//取结束时间
printf( "%f seconds\n",(finish - start) / CLOCKS_PER_SEC);//以秒为单位显示之

}
上面的代码理论上是可以显示printf("Hello, World!\n");语句的运行时间的,但我猜实际的显示结果是0,因为printf("Hello, World!\n");这个语句的运行时间是可以忽略不计的,加一个次数较多的循环才能看到效果

‘玖’ C语言然后是几点

供参考 不懂追问

#include<stdio.h>
intmain()
{
intstart,end;
intstart_min,end_min;
intpassed;
scanf("%d%d",&start,&passed);//输入
start_min=start/100*60+start%100;
//计算start表示的时间距离00:00有多少分钟
end_min=start_min+passed;
end=end_min/60*100+end_min%60;//上面的逆操作原理相同
printf("%d ",end);
}

‘拾’ C语言 终止时间的计算

minute=start % 100;
hour=start / 100;

minute=c % 60;
final=hour*100+minute;
应该是这样了