| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 2015 人关注过本帖
标题:一个自由落体在降落,如何写程序,求思路。
只看楼主 加入收藏
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1941
专家分:3019
注 册:2009-12-22
结帖率:89.13%
收藏
已结贴  问题点数:10 回复次数:8 
一个自由落体在降落,如何写程序,求思路。
#include <stdio.h>
#include <stdlib.h>  // 用于处理输入错误

int main() {
    double n;         // 初始高度
    double total_distance = 0.0;  // 累计下落距离
    int time = 0;     // 整数秒时间
    char input[100];  // 用于接收用户输入

    // 获取并验证用户输入的高度(确保为正数)
    while (1) {
        printf("请输入初始高度N(米):");
        if (fgets(input, sizeof(input), stdin) == NULL) {
            printf("输入失败,请重新输入!\n");
            continue;
        }

        // 尝试将输入转换为浮点数
        if (sscanf(input, "%lf", &n) != 1) {
            printf("输入有误,请输入数字!\n");
            continue;
        }

        // 检查高度是否为正数
        if (n <= 0) {
            printf("高度必须是正数,请重新输入!\n");
            continue;
        }

        break;  // 输入有效,退出循环
    }

    // 计算完整秒数的累计距离
    while (1) {
        double next_second_distance = 9.8 * (time + 1);  // 下一秒的下落距离
        if (total_distance + next_second_distance >= n) {
            break;  // 下一秒会落地,退出循环计算小数部分
        }
        total_distance += next_second_distance;
        time++;
    }

    // 计算不足1秒的部分,得到总时间
    double remaining_distance = n - total_distance;  // 剩余距离
    double t = time + remaining_distance / (9.8 * (time + 1));  // 总时间

    // 输出结果(保留两位小数)
    printf("自由落体掉落到地面所需时间为:%.2f秒\n", t);

    return 0;
}


[此贴子已经被作者于2025-11-9 10:34编辑过]

搜索更多相关主题的帖子: time double 输入 高度 printf 
2012-07-30 08:08
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1941
专家分:3019
注 册:2009-12-22
收藏
得分:0 
主要是我写不出公式。

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2012-07-30 08:12
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:3 
这个应该去查物理书...

这些年,我物理化学忘光了...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2012-07-30 08:39
wangxiang935
Rank: 3Rank: 3
来 自:南京
等 级:论坛游侠
帖 子:177
专家分:179
注 册:2012-7-11
收藏
得分:3 
好像确实是有个啥公式的
2012-07-30 08:46
jtx0329
该用户已被删除
收藏
得分:3 
提示: 作者被禁止或删除 内容自动屏蔽
2012-07-30 09:08
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:3 
五楼正解。匀加速直线运动。
2012-07-30 09:11
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
如果考虑空气阻力和惯性,你会不会算?通常空气阻力与速率的平方成正比。

授人以渔,不授人以鱼。
2012-07-30 10:12
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
复杂一点的就是得解个微分方程吧。
高中生一般都不研究带空气阻力的,说明带了之后,难度会提高不少。
2012-07-30 15:21
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
用计算机做数值积分是可以的,不用解析式,高中生编程也可以解决了。平时做题,要解析结果的,高中生当然不行。

授人以渔,不授人以鱼。
2012-07-30 15:52
快速回复:一个自由落体在降落,如何写程序,求思路。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020453 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved