本文目录一览:
- c语言度分秒计算
- [用C语言编写一个分秒计时器 大侠们 帮帮我!!](#用C语言编写一个分秒计时器 大侠们 帮帮我!!)
- 用c语言编一个时钟程序实现时分秒计时功能
- [c语言编写 输入一个以秒为单位的时间值,将其转化成“时:分:秒”的形式输出,将转换操作定义成函数](#c语言编写 输入一个以秒为单位的时间值,将其转化成“时:分:秒”的形式输出,将转换操作定义成函数)
- C语言如何获取本地时间,然后取时、分、秒的值?
c语言度分秒计算
#include "stdio.h"
void deg(double *r)
{
double a, b, c;
a = (int)*r;
b = (int)(*r * 100) - 100 * a;
c = ((*r - a) * 100 - b) * 100;
printf("a=%lf, b=%lf\n,c=%lf\n", a, b, c);
}
main()
{
double a, *p;
scanf("%lf", &a);
p = &a;
deg(p);
printf("%lf\n", *p);
}
用C语言编写一个分秒计时器 大侠们 帮帮我!!
这什么东西啊,也太乱了吧!用一个 GetTickCount
这个 API 函数;
GetTickCount 函数
- 函数功能:返回从操作系统启动到现在所经过的毫秒数,它的返回值是
DWORD
。 - 函数原型:
DWORD GetTickCount(void);
- C/C++头文件:
winbase.h
- windows程序设计中可以使用头文件:
windows.h
程序示例
#include <stdio.h>
#include <windows.h>
int main()
{
int i, k, r;
for (i = 0; i < 10; i++)
{
srand(GetTickCount());
printf("\n");
for (k = 0; k < 5; k++)
{
r = rand();
printf("%d ", r);
}
}
return 0;
}
注意事项
GetTickCount
函数:它返回从操作系统启动到当前所经过的毫秒数,常常用来判断某个方法执行的时间,其函数原型是 DWORD GetTickCount(void)
,返回值以 32 位的双字类型 DWORD
存储,因此可以存储的最大值是 2^32 - 1 ms 约为 49.71 天,因此若系统运行时间超过 49.71 天时,这个数就会归 0,MSDN 中也明确的提到了:"Retrieves the number of milliseconds that have elapsed since the system was started, up to 49.7 days."。因此,如果是编写服务器端程序,此处一定要万分注意,避免引起意外的状况。
用c语言编一个时钟程序实现时分秒计时功能
#include <stdio.h>
#include <time.h>
int main()
{
time_t t1, t2;
struct tm *ptm;
char timestr[128] = {'\0'};
time(&t1);
while (1)
{
time(&t2);
if (difftime(t2, t1) >= 1)
{
system("cls");
ptm = localtime(&t2);
strftime(timestr, 128, "%H:%M:%S", ptm);
printf("%s\n", timestr);
t1 = t2;
}
}
system("PAUSE");
return 0;
}
c语言编写 输入一个以秒为单位的时间值,将其转化成“时:分:秒”的形式输出,将转换操作定义成函数
#include <stdio.h>
void trans(int sec)
{
int hour, min;
hour = sec / 3600; // 计算时 3600进制
min = (sec % 3600) / 60; // 计算分 60进制
sec = (sec % 3600) % 60; // 计算秒 余下的全为秒数
printf("%d时:%d分:%d秒\n", hour, min, sec);
}
int main()
{
int sec;
printf("请输入秒数:\n");
scanf("%d", &sec);
trans(sec);
return 0;
}
可以自己试试。
C语言如何获取本地时间,然后取时、分、秒的值?
C语言有 2 个获取时间的函数,分别是 time()
和 localtime()
,time()
函数返回 unix 时间戳 - 即从 1970 年 1 月 1 日 0:00 开始所经过的秒数,而 localtime()
函数则是将这个秒数转化为当地的具体时间(年月日时分秒)。
这里时间转化要用到一个 struct tm*
的结构体,结构如下:
struct tm {
int tm_sec; /* 秒 – 取值区间为[0,59] */
int tm_min; /* 分 - 取值区间为[0,59] */
int tm_hour; /* 时 - 取值区间为[0,23] */
int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */
int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */
int tm_year; /* 年份,其值等于实际年份减去1900 */
int tm_wday; /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一 */
int tm_yday; /* 从每年1月1日开始的天数– 取值区间[0,365],其中0代表1月1日 */
int tm_isdst; /* 夏令时标识符,夏令时tm_isdst为正;不实行夏令时tm_isdst为0 */
};
示例代码:
#include <stdio.h>
#include <time.h>
int getTime()
{
time_t t; // 保存unix时间戳的变量 ,长整型
struct tm* lt; // 保存当地具体时间的变量
int p;
time(&t); // 等价于 t = time(NULL); 获取时间戳
lt = localtime(&t); // 转化为当地时间
p = lt->tm_sec; // 将秒数赋值给p
return p;
}
应该就是这样啦~