gpt4 book ai didi

C 程序不打印值

转载 作者:行者123 更新时间:2023-11-30 17:28:44 25 4
gpt4 key购买 nike

我正在编写一个程序,将十进制度转换为度、分、秒。这就是它应该做的:

-118.1406209154 = 118 degrees 8 minutes 26.2342 seconds West.
W If it is negative then it is either west longitude or south latitude
118 The degrees are left of the decimal place
8 Multiply the decimal portion (0.140620915) by 60 to get decimal minutes (8.4372549). The minutes are left of the decimal place.
26.2353 Multiply the decimal portion (0.4372549) by 60 to get decimal seconds.

这是我到目前为止的代码,但是,当我运行它时,问题是它只打印十进制值而不打印其他值。我不明白为什么。非常感谢任何提示/帮助。

double decimalDegrees = -118.1406209154;

double degrees;
double minutes;
double seconds;
char longitude;
char latitude;
double temp;

int main(int argc, char **argv)
{
minutes = decimalDegrees - (int)decimalDegrees; //get the decimal portion of decimalDegrees
degrees = decimalDegrees - minutes; //get degrees by removing the decimal portion
minutes = minutes*60.0;
temp = minutes - (int)minutes; //get decimal portion
minutes = minutes - temp; //remove decimal portion from minutes
seconds = temp * 60.0;

printf("%0.10lf ", decimalDegrees);
printf("%lf degrees ", degrees);
printf("%lf minutes ", minutes);
printf("%0.4lf seconds ", seconds);

return 0;
}

最佳答案

到目前为止,这对我来说效果很好。也许你应该尝试使用不同的编译器,如果你使用的是基于 UNIX 的系统,你可以尝试使用 GCC(如果你还没有),或者 Xcode(如果你使用的是 Mac),并且如果运行 Windows MinGW 是一个流行的选择(适用于 Windows 的 GCC 解决方案)。

考虑到其他人已经说过的内容,您可以在编写代码时稍微改进一下。正如 Paul 所建议的,这里的 printf 中不需要使用 %lf ,但是如果您打算让用户稍后输入自己的值,您将使用 %lf code> 用于使用 scanf() 读取 double 。

关于C 程序不打印值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25965232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com