您好,我有一个练习,我已经完成,但有一个问题,当我需要点击控制+ Z(那些键)我应该得到scanf = -1的值,并键入FINISH但由于某种原因,我需要点击控制+ Z 3次使其工作。 有没有人知道它为什么这样做? 由于某些原因,即使我输入3次,也会出现关于变量h未被使用的错误。感谢
#include <stdio.h>
#include <math.h>
#define PI 3.1415
#define G 9.81
float height(float vy, float t);
float horizontal(float vx, float t);
int main()
{
float h, s, v, vx, vy, t;
int res, a;
printf("Enter velocity and angle:- ");
res = scanf("%f %d",&v,&a);
if (res != -1)
{
vx = v*cos((a*PI) / 180);
vy = v*sin((a*PI) / 180);
t = 0.1;
do
{
h = height(vy, t);
s = horizontal(vx, t);
printf("time = %.2f .... s=%.2f h=%.2f\n", t, s, h);
t += 0.1;
} while (h > 0);
}
if (res == -1) printf("FINISH");
if (h<0) printf("\nFALLEN");
return 0;
}
float height(float vy, float t)
{
float h;
h = vy*t - G*t*t*0.5;
return h;
}
float horizontal(float vx, float t)
{
float s;
s = vx*t;
return s;
}