Scanf扫描控制+ Z.

时间:2017-05-14 15:35:23

标签: c

您好,我有一个练习,我已经完成,但有一个问题,当我需要点击控制+ 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;


}

0 个答案:

没有答案