不知道逻辑哪里错了,可以帮看一下正确结果是什么嘛

题目描述:
假设冰山的运输起点在南纬66.5度,
运输的终点在南纬23.5度,
起点和终点的经度相同。
又假设冰山在运输过程中始终保持球形,
初始直径是50米。

运输工具(拖船)每秒可以驶过的纬度数 = 0.0004 / 冰山当前的直径

而冰山的直径每秒要减少 ((66.5 - 目前所在的纬度) / 2000000) 米

问:当冰山到达目的地时,直径还剩下多少米?

#include<stdio.h>

int main()
{
double x, y, z=50, m=66.5;
double sum = 0;
while (sum <= 43){

    x = 0.0004 / z;
    sum = sum + x;
    y = (66.5 - m) / 2000000;
    z = 50 - y;

}
printf("%lf", z);
return 0;

}

具体还得根据你的题目调试,总之问题出在你没有更新当前经度,即m应当表示当前经度,而不是一直是66.5

#include<stdio.h>

int main()
{
    double x, y, z=50, m=66.5;
    double sum = 0;
    while (sum <= 43){
        x= 0.0004 / z;
        sum = sum + x;
        m=66.5-sum;
        y = (66.5 - m) / 2000000;
        z = 50 - y;
    }
    printf("%lf", z);
    return 0;
}