當前位置:首頁 » 編程語言 » 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;

}