c语言度分秒计算#include "stdio.h"void deg(double *r){double a,b,c;a=(int)*r;b=(int)((*r-a)*100);c=((*r-a)*100-b)*100;printf("a=%lf,b=%lf\n",a,b); /*因为数据输出有问题所以这里加了一句*/}main(){double a,*p;scanf("%lf",&a);p=&a;d

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 23:30:07

c语言度分秒计算#include "stdio.h"void deg(double *r){double a,b,c;a=(int)*r;b=(int)((*r-a)*100);c=((*r-a)*100-b)*100;printf("a=%lf,b=%lf\n",a,b); /*因为数据输出有问题所以这里加了一句*/}main(){double a,*p;scanf("%lf",&a);p=&a;d
c语言度分秒计算
#include "stdio.h"
void deg(double *r)
{double a,b,c;
a=(int)*r;
b=(int)((*r-a)*100);
c=((*r-a)*100-b)*100;
printf("a=%lf,b=%lf\n",a,b); /*因为数据输出有问题所以这里加了一句*/
}
main()
{double a,*p;
scanf("%lf",&a);
p=&a;
deg(p);
printf("%lf\n",*p);
}
才编到分的部分就出问题了.
如果输入3.3(即3°30′)
b那里显示成29是怎么回事,加上一个强制类型转化为什么会从30减到29
而输入1.

c语言度分秒计算#include "stdio.h"void deg(double *r){double a,b,c;a=(int)*r;b=(int)((*r-a)*100);c=((*r-a)*100-b)*100;printf("a=%lf,b=%lf\n",a,b); /*因为数据输出有问题所以这里加了一句*/}main(){double a,*p;scanf("%lf",&a);p=&a;d
#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);
}