求一段C小程序关于度分秒.转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一段C小程序关于度分秒.转换相关的知识,希望对你有一定的参考价值。

跪求大神写个代码用c或c++或java都可以
读入一个数据比如 10°39'59''转换成10.66388°这样子(小数点几位就按浮点数来吧)
我鼓捣半天没弄出来,应该用字符串吧......跪求...谢谢大神了...新手不行啊

参考技术A #include <stdio.h>
int main(int argc, char *argv[])

int a,b,c;
double d;
printf("输入度分秒(格式:10°39'59''):");
scanf("%d°%d\'%d\'\'",&a,&b,&c);
d = (a + b/60.0 + c/3600.0);
printf("%d°%d\'%d\'\' = %lf°\n",a,b,c,d);
return 0;

/*
输入度分秒(格式:10°39'59''):10°39'59''
10°39'59'' = 10.666389°
*/本回答被提问者和网友采纳
参考技术B # include<stdio.h>
# include<string.h>
void yp(char a[])

int i=0;
double num,b=0,c=0,d=0;
char *q,*j,*k;
q=strstr(a,"°");
j=strstr(a,"′");
k=strstr(a,"″");
for(;&a[i]!=q;i++)
b=b*10+a[i]-48;
for(i=i+2;&a[i]!=j;i++)
c=c*10+a[i]-48;
for(i=i+2;&a[i]!=k;i++)
d=d*10+a[i]-48;
num=b+c/60+d/3600;
printf("转化成度值为:%lf",num);
printf("°\n");

int main()

char a[15];
printf("请用输入法,输入标准°′″\n");
printf("请输入数据如( 10°39′59″):");
gets(a);
yp(a);
return 0;


你的结果是错的
参考技术C 程序如下,不明白追问吧!
依次输入10 39 59输出10.66388
#include<stdio.h>
#include<math.h>
void main()

int du,fen,miao;
float result;
printf("度分秒格式转为度格式\n");
printf("请输入度数\n");
scanf("%d",&du);
printf("请输入分数\n");
scanf("%d",&fen);
printf("请输入秒数\n");
scanf("%d",&miao);
result=(float)(fen*60+miao)/3600+du;
printf("转化后的度数为:%f\n",result);
参考技术D void convert(char* from, char* to)
int a = 0, b = 0, c = 0;

char buff[8];
char *p1 = from;
char *p2 = strstr(p1, "°"); // 不太确定"°"是一个字节还是多个字节,所以这样写保险些。
if (p2 != NULL)
strncpy(buff, p1, p2-p1);
a = atoi(buff);
p1 = p2 + strlen("°");

p2 = strchr(p1, '\'');

if (p2 != NULL)
strcpy(buff, p1, p2-p1);
b = atoi(buff);
p1 = p2 + 1;

p2 = strchr(p1, '"');
if (p2 != NULL)
strcpy(buff, p1, p2-p1);
b = atoi(buff);
p1 = p2 + 1;

sprintf(to, "%f°", (c/60.0 + b) / 60.0 + a);
return;
第5个回答  2012-12-08 #include <stdio.h>

int main() //xcode :int main() vc: main()



int a,b,c;

double d;

printf("please input degree (e.g.:10°39'59''): \n"); //display the tooltip

scanf("%d°%d'%d''",&a,&b,&c); //input degree

d = (a + b/60.0 + c/3600.0); //transition

printf("The consequenceis:%d°%d'%d'' = %lf°\n",a,b,c,d); //output the consequence

角度单位换算 度分秒之间怎么换算?

角度单位 度 分 秒 之间是怎么换算的?

1°=60′=3600″  (′表示分,″秒)

详细资料:

角度单位转换采用的是60进制,进率为60。度是大单位,秒是小单内位,从大化小就乘容以进率,从小到大就除以进率。


比如:


12°24’36”=12+24/60+36/3600=12+0.4+0.01=12.41°;


12.2436°=12°+0.2436x60’=12°+14.616’=12°14‘+0.616x60”=12°14‘+36.96“=12°20'36.96“

扩展资料:



常用的角度制式有:


一、度分秒制式:是最常用的制式,每圆周分割为360度,每度分为60分,每分再划分为60秒,秒下为常规小数。度分秒格式--89.5999999接近直角。


二、百分度制式:每圆周分割为360度,每度下为常规的小数。百分度格式--89.9999999接近直角。


三、弧度制:每圆周为2π=360度,π代表180度,π/2代表90度。

参考技术A 角度转换规则是:1度=60分,1分=60秒。
角度单位转换采用的是60进制,进率为60。度是大单位,秒是小单位,从大化小就乘以进率,从小到大就除以进率。
比如:
12°24’36”=12+24/60+36/3600=12+0.4+0.01=12.41°;
12.2436°=12°+0.2436x60’=12°+14.616’=12°14‘+0.616x60”=12°14‘+36.96“=12°20'36.96“
参考技术B

1°=60′=3600″  (′表示分,″秒)

详细资料:

参考技术C 1度=60分1分=60秒 参考技术D 1°的60分之1为1分,记作1°=60'
1′=6O”

以上是关于求一段C小程序关于度分秒.转换的主要内容,如果未能解决你的问题,请参考以下文章

小程序火星坐标系 (GCJ-02) 转百度坐标系 (BD-09)和经纬度转度分秒格式

度分秒转换为度

测绘程序设计C#将度分秒(° ‘ “)转换度(°)程序实现(附源码)

测绘程序设计C#将度分秒(° ‘ “)转换度(°)程序实现(附源码)

测绘程序设计Excel度(°)转换度分秒(° ‘ “)模板附代码超实用版

测绘程序设计Excel度(°)转换度分秒(° ‘ “)模板附代码超实用版