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

c语言度分秒函数

发布时间: 2022-06-22 01:46:46

A. c语言编程:输入一个弧度,转化成度分秒输出,秒保留一位小数,

#include <stdio.h>

#define PI 3.14

int main (void)

{

int num,gre,min;

float gre1,min1,sec;

printf("输入一个弧度 ");

scanf("%d",&num);

gre1=num/(float)PI*180;

gre=(int)gre1; //度数取整

min1=(gre1-gre)*60;

min=(int)min1; //分数取整

sec=(min1-min)*60;

printf("%d 弧度等于%d度 %d分 %.1f秒 ",num,gre,min,sec);

return 0;

}

B. c语言 时间函数

c语言时间函数:
1、获得日历时间函数:
可以通过time()函数来获得日历时间(Calendar Time),其原型为:time_t time(time_t * timer);
如果已经声明了参数timer,可以从参数timer返回现在的日历时间,同时也可以通过返回值返回现在的日历时间,即从一个时间点(例如:1970年1月1日0时0分0秒)到现在此时的秒数。如果参数为空(NUL),函数将只通过返回值返回现在的日历时间,比如下面这个例子用来显示当前的日历时间:
2、获得日期和时间函数:
这里说的日期和时间就是平时所说的年、月、日、时、分、秒等信息。从第2节我们已经知道这些信息都保存在一个名为tm的结构体中,那么如何将一个日历时间保存为一个tm结构的对象呢?
其中可以使用的函数是gmtime()和localtime(),这两个函数的原型为:
struct tm * gmtime(const time_t *timer);
struct tm * localtime(const time_t * timer);
其中gmtime()函数是将日历时间转化为世界标准时间(即格林尼治时间),并返回一个tm结构体来保存这个时间,而localtime()函数是将日历时间转化为本地时间。比如现在用gmtime()函数获得的世界标准时间是2005年7月30日7点18分20秒,那么用localtime()函数在中国地区获得的本地时间会比世界标准时间晚8个小时,即2005年7月30日15点18分20秒。

C. GPS模块获取的数据转换成经纬度(度分秒的格式),C语言

3559.10468,N,12009.46619,E
N/S(北纬或南纬):北纬35 度59.10468 分;
E/W(东经或西经):东经120 度9.46619 分;
纬度(格式ddmm.mmmm:即dd 度,mm.mmmm 分);
经度(格式dddmm.mmmm:即ddd 度,mm.mmmm 分);
list和字符串操作就不写了吧。

D. 如何用C语言编写一个显示时间的函数,要求时间显示精度到毫秒级别。


#include <cstdio>

#include <ctime>

using namespace std;


/* run this program using the console pauser or add your own getch, system("pause") or input loop */


void printTime() {

struct tm t; //tm结构指针

time_t now; //声明time_t类型变量

time(&now); //获取系统日期和时间

localtime_s(&t, &now); //获取当地日期和时间


//格式化输出本地时间

printf("年-月-日-时-分-秒:%d-%d-%d %d:%d:%d ", t.tm_year + 1900, t.tm_mon + 1, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec);


}


int main(int argc, char** argv) {

printTime();

}

E. 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);
}

F. c语言如何计时

  1. C语言中提供了许多库函数来实现计时功能

  2. 下面介绍一些常用的计时函数

    1. time()

    头文件:time.h

    函数原型:time_t time(time_t * timer)

    功能:返回以格林尼治时间(GMT)为标准,从1970年1月1日00:00:00到现在的时此刻所经过的秒数

    用time()函数结合其他函数(如:localtime、gmtime、asctime、ctime)可以获得当前系统时间或是标准时间。

    用difftime函数可以计算两个time_t类型的时间的差值,可以用于计时。用difftime(t2,t1)要比t2-t1更准确,因为C标准中并没有规定time_t的单位一定是秒,而difftime会根据机器进行转换,更可靠。

    说明:C标准库中的函数,可移植性最好,性能也很稳定,但精度太低,只能精确到秒,对于一般的事件计时还算够用,而对运算时间的计时就明显不够用了。

    2. clock()

    头文件:time.h

    函数原型:clock_t clock(void);

    功能:该函数返回值是硬件滴答数,要换算成秒,需要除以CLK_TCK或者 CLK_TCKCLOCKS_PER_SEC。比如,在VC++6.0下,这两个量的值都是1000。

    说明:可以精确到毫秒,适合一般场合的使用。

    3. timeGetTime()

    头文件:Mmsystem.h引用库: Winmm.lib

    函数原型:DWORD timeGetTime(VOID);

    功能:返回系统时间,以毫秒为单位。系统时间是从系统启动到调用函数时所经过的毫秒数。注意,这个值是32位的,会在0到2^32之间循环,约49.71天。

    说明:该函数的时间精度是五毫秒或更大一些,这取决于机器的性能。可用timeBeginPeriod和timeEndPeriod函数提高timeGetTime函数的精度。如果使用了,连续调用timeGetTime函数,一系列返回值的差异由timeBeginPeriod和timeEndPeriod决定。

    4. GetTickCount()

    头文件:windows.h

    函数原型:DWORD WINAPI GetTickCount(void);

    功能:返回自设备启动后的毫秒数(不含系统暂停时间)。

    说明:精确到毫秒。对于一般的实时控制,使用GetTickCount()函数就可以满足精度要求。

    5. QueryPerformanceCounter()、QueryPerformanceFrequency()

    头文件:windows.h

    函数原型:BOOLQueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount);

    BOOLQueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);

    功能:前者获得的是CPU从开机以来执行的时钟周期数。后者用于获得你的机器一秒钟执行多少次,就是你的时钟周期。

    补充:LARGE_INTEGER既可以是一个8字节长的整型数,也可以是两个4字节长的整型数的联合结构, 其具体用法根据编译器是否支持64位而定:

    在进行定时之前,先调用QueryPerformanceFrequency()函数获得机器内部定时器的时钟频率,然后在需要严格定时的事件发生之前和发生之后分别调用QueryPerformanceCounter()函数,利用两次获得的计数之差及时钟频率,计算出事件经历的精确时间。

    说明:这种方法的定时误差不超过1微秒,精度与CPU等机器配置有关,一般认为精度为透微秒级。在Windows平台下进行高精度计时的时候可以考虑这种方法。

    6. gettimeofday()

    Linux C函数。

    头文件:sys/time.h

    函数原型:int gettimeofday(struct timeval *tv,struct timezone *tz);

    说明:其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果(若不使用则传入NULL即可)。

    timeval的定义为:

    structtimeval{

    longtv_sec;//秒数

    longtv_usec;//微秒数

    }

    可见该函数可用于在linux中获得微秒精度的时间。

    说明:使用这种方式计时,精度可达微秒。经验证,在arm+linux的环境下此函数仍可使用。

G. C语言中有没有用于计时的函数怎么用

有,CLOCK函数。

clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:clock_t clock(void) ; #ifndef _CLOCK_T_DEFINED typedef long clock_t;
#define _CLOCK_T_DEFINED #endif。

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

H. C语言时间函数,求解析意思

#include <stdio.h>
#include <time.h>
int main()
{
time_t timep; //时间变量,从1970年1月1日0时起的秒数
struct tm * p; //时间结构,含年月日时分秒星期几,一年中第几天,夏时制等成员。年从1900起算,月从0起算,...
time(&timep); // 获取当前时间,从1970年1月1日0时起的秒数
p = gmtime(&timep); // 获取UTC时间 结构成员数值们
printf("%d %d %d\n",1900+p->tm_year, 1+p->tm_mon, p->tm_mday); //输出UTC时间的年月日
p = localtime(&timep); // 获取本地 时间 结构成员数值们
printf("%d %d %d\n",1900+p->tm_year, 1+p->tm_mon, p->tm_mday); //输出本地时间年月日

return 0;
}

I. C语言转化度分秒;;如13°23′34″,是13.3545°

double Fun(int iDu, int iFen, int iMiao)
{
return (double)iDu + iFen / 60.0 + iMiao / 3600.0;
}

J. 怎么用C语言编写角度相加减啊,就是度分秒相加减,度和秒过60进1,给个思路或者样板。。谢谢。

//给你个能运行的
#include<stdio.h>
#include<stdlib.h>
struct DMS
{
int d;
int m;
int s;
};

void todms(DMS* dms)
{
if(dms->s>=60)
{

dms->m=dms->m+dms->s/60;
dms->s=dms->s%60;
}
if(dms->m>=60)
{

dms->d=dms->d+dms->m/60;
dms->m=dms->m%60;
}
}

int main()
{
DMS a={0,0,0},b={0,0,0},c={0,0,0};
printf("请输入角度a:\n(按度分秒输入)");
scanf("%d%d%d",&a.d,&a.m,&a.s);
todms(&a);
printf("请输入角度b:\n(按度分秒输入)");
scanf("%d%d%d",&b.d,&b.m,&b.s);
todms(&b);
c.d=a.d+b.d;
c.m=a.m+b.m;
c.s=a.s+b.s;
todms(&c);

printf("a的度分秒值为:%d度%d分%d秒\n",a.d,a.m,a.s);
printf("b的度分秒值为:%d度%d分%d秒\n",b.d,b.m,b.s);
printf("a+b度分秒值为:%d度%d分%d秒\n",c.d,c.m,c.s);

return 0;

}