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

c语言编程计算时间

发布时间: 2023-05-14 05:36:55

Ⅰ 给定年月日 怎样用c语言编程计算2个日期之间的时间天数

1970 年以后的时间,可以用 time.h 里的函数计算。时间精度为秒。按题目要求,输出时间单位用天。程序如下:
#include <stdio.h>
#include <time.h>
time_t YMD_hhmmss_2_s70(int Y, int M, int D, int hh, int mm, int ss){
struct tm *target_tm;
time_t tt;
time (&tt);
target_tm=localtime(&tt);
target_tm->tm_year = Y - 1900;
target_tm->tm_mon= M - 1;
target_tm->tm_mday = D;
target_tm->tm_hour = hh; // hour
target_tm->tm_min = mm;
target_tm->tm_sec = ss;
tt = mktime(target_tm); // from tm to time_t (s)
return tt;
}
int main()
{
int y1,m1,d1,y2,m2,d2;
time_t t1,t2;
int dt;
printf("input y1 m1 d1: ");
scanf("%d %d %d",&y1,&m1,&d1);
printf("\ninput y2 m2 d2: ");
scanf("%d %d %d",&y2,&m2,&d2);
t1 = YMD_hhmmss_2_s70(y1,m1,d1,0,0,0);
t2 = YMD_hhmmss_2_s70(y2,m2,d2,0,0,0);
dt = (t2-t1)/(24*3600);
printf("\ndt=%d\n",dt);
return 0;
}
这里未包含日期的合法性判断。
1970 年以前 要另写程序。某年的日子是当年的第几天可用下面函数得出:
int YMD_2_JD(int Y, int M, int D){
const short MonthDay[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int JD,i;
JD=D;
for (i=0;i<M;i++) JD+=MonthDay[i];
if (((Y%4==0)&&(Y%100!=0)||(Y%400==0)) && (M>2)) JD++;
return JD;
}
整年的天数,涉及闰年的判断:
某年是否闰年,用 (Y%4==0)&&(Y%100!=0)||(Y%400==0) 判断。闰年366天,平年365天。 有了这些,写程序不难。
未考虑公元前的年月日计算。

Ⅱ 计算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语言计算时间函数

标准库的time.h里有时间函数

time_t time (time_t *timer)
计算从1970年1月1日到当前系统时间,并把结果返回给timer变量,
函数本身返回的也是这个结果.time_t这个类型其实就是一个int.

另有:
double difftime ( time_t timer2, time_t timer1 )
把返回time2和time1所储存的时间的差.

Ⅳ 怎样用c语言设计计算程序执行的时间

C语言中的头文件time.h中定义了库函数clock(),它返回的是从程序运行开始算起的时间,一时钟周期为单冲腊察位,time.h还定义了符号:CLOCKS_PER_SEC,即一秒钟的时钟周期。这局神样就简单了,在头文件中加入#include<time.h>,在程序main()主函数的开头定义long now=0;并给把clock()赋值给now,即now=clock();记录程序开始时的时间,clock()会继续增加,但now已经确定为开始那一时刻clock()的值,在程序结尾,算式clock()-now就是程序执行所需散茄的时间,但是是以时钟周期为单位的,如果想得到以秒为单位的时间只要输出(clock()-now)/CLOCKS_PER_SEC就是了,即在程序结尾添加
printf("%lf",(clock()-now)/CLOCKS_PER_SEC);就可以了。

Ⅳ 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语言编程,怎么计算时间

#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 );

}

(6)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语言中)

在c语言中有专门处理系统时间,程序计时等等功能的库,
即time.h
在time.h中函数clock_t clock( void )可以完成计时功能。

这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。其中clock_t是用来保存时间的数据类型,在time.h文件中,我们可以找到对它的定义:
#ifndef _CLOCK_T_DEFINED
typedef long clock_t;
#define _CLOCK_T_DEFINED
#endif

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

#define CLOCKS_PER_SEC ((clock_t)1000)

可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。

下面这个程序计算了循环1千万次所用的时间:

#include “stdio.h”
#include “stdlib.h”
#include “time.h”

int main( void )
{
long i = 10000000L;
clock_t start, finish;
double ration;
/* 测量一个事件持续的时间*/
printf( "Time to do %ld empty loops is ", i );
start = clock();
while( i-- ) ;
finish = clock();
ration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( "%f seconds\n", ration );
system("pause");
}

运行结果如下:

Time to do 10000000 empty loops is 0.03000 seconds

参考资料:http://www.zxbc.cn/html/cjjhs/0312542045823.html

Ⅷ C语言求一个程序运行时间

C/C++中的计时函数是clock()。

所以,可以用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语言编程日期计算

#include<stdio.h>
#include<windows.h>
/*以公毁州元阳历来计算(非农历)*/
int_MONTH[]={{31},{28},{31},{30},{31},{30},{31},{31},{30},{31},{30},{31}};
intdays(int*m,int滚余茄*day)
{
inti,md=0;
unsignedintd;

for(i=0;i<(*m-1)&&(i<11);i++)
md=md+_MONTH[i];
d=md+(*day);
return(int)((d+365)-365);
}
voidmain()
{
intmonth,day;
RESET:
month=day=1;
大察printf("月份:");
scanf("%d",&month);
printf("日期:");
scanf("%d",&day);

while((month<1||month>12)||(day<1||day>31))
{
printf("月份或日期有误,请重新输入! ");
fflush(stdin);
Sleep(3000);
gotoRESET;
}
printf("今天是今年的第%d天 ",days(&month,&day));
}

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

把time.h
include进来
然后在代码的前面和后面都加一条代码,获得时间
long
start=clock();
long
end=clock();
两个减一下就是秒数