C语言程序与设计:篮球游戏
1.题目
你们正在编写一个篮球游戏。假设篮球质量为1kg,将其放在高度为y米高的地方做自由落体运动。其初速度为v。篮球在运动过程中,只受到重力加速度g(-9.8m/s2),请输出其随时间t的运行轨迹(设t的时间间隔是0.1秒)
请以小组为单位完成此练习,1)先由B同学写出思路、画出流程图,A同学观察B同学的完成情况,可以讨论,指出是否有问题存在。(思路和流程图可以手写,拍照上交);2)然后由A同学根据第1)步完成的思路和流程图,写出具体的实现代码,B同学观察指正。
2.代码实现(输出坐标)
#include<stdio.h>
#include<math.h>
int main()
{
double h, v, t, x, y;
h = v = t = x = y = 0;
while (1) {
printf("input your height\n");
scanf_s("%lf", &h);
printf("input your velocity\n");
scanf_s("%lf", &v);
if (h <= 0 || v <= 0) {
printf("Invaild data");
continue;
}
t = sqrt(2 * h / 9.8);
double i = 0;
while (1) {
if (i > t) {
x = v * t;
y = (9.8 * t * t) / 2;
printf("(%.2lf,%.2lf)\n\n\n", x, y);
break;
}
else {
x = v * i;
y = (9.8 * i * i) / 2;
printf("(%.2lf,%.2lf)\n", x, y);
i += 0.1;
}
}
}
return 0;
}
|