求一段C小程序关于度分秒.转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一段C小程序关于度分秒.转换相关的知识,希望对你有一定的参考价值。
跪求大神写个代码用c或c++或java都可以
读入一个数据比如 10°39'59''转换成10.66388°这样子(小数点几位就按浮点数来吧)
我鼓捣半天没弄出来,应该用字符串吧......跪求...谢谢大神了...新手不行啊
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#将度分秒(° ‘ “)转换度(°)程序实现(附源码)