Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何修复我的代码?我想问题是第一次扫描?_C - Fatal编程技术网

C 如何修复我的代码?我想问题是第一次扫描?

C 如何修复我的代码?我想问题是第一次扫描?,c,C,我正试图创建一个程序来计算一个值Vt,给定Vo、a和tm的值。当我运行代码时,程序会问第一个问题,然后在我给它一个值后,它会加快代码的速度,而不让我给其他两个变量的值。我用C语言编程。代码如下: #include <stdio.h> main () { float Vt; float Vo; float a; float tm; printf(" At what time in flight do you wish to know the

我正试图创建一个程序来计算一个值Vt,给定Vo、a和tm的值。当我运行代码时,程序会问第一个问题,然后在我给它一个值后,它会加快代码的速度,而不让我给其他两个变量的值。我用C语言编程。代码如下:

#include <stdio.h>

main () {

    float Vt;
    float Vo;
    float a;
    float tm;

    printf(" At what time in flight do you wish to know the velocity? To the 
    nearest hundredth. :");
    scanf(" %.2f", &tm);

    printf (" What is the angle of trajectory? :");
    scanf (" %.2f", &a);

    printf (" What is the initial velocity? :");
    scanf (" %.2f", &Vo);

    float sina = sin (a);
    float cosa = cos (a);
    float tana = tan (a);

    Vt = sqrt((pow((Vo * cosa), 2.0)) + (pow((Vo * sina - (9.8 *tm)), 2.0)));

    printf("\n\n\n\n %.3f", Vt);

    return 0;

}
#包括
主要(){
浮动;
浮动Vo;
浮动a;
浮动tm;
printf(“您希望在飞行中的什么时候知道速度?到
最接近百分之一。:);
scanf(“%.2f”和&tm);
printf(“轨迹的角度是多少?”:”;
scanf(“%.2f”和&a);
printf(“初始速度是多少?:”);
scanf(“%.2f”和&Vo);
浮点数=sin(a);
浮动cosa=cos(a);
浮动tana=tan(a);
Vt=sqrt((pow((Vo*cosa),2.0))+(pow((Vo*sina-(9.8*tm)),2.0));
printf(“\n\n\n%.3f”,Vt);
返回0;
}

您的scanf格式字符串无效。将它们更改为
“%f”
。也就是说,改变

  • scanf(“%.2f”和&tm)
    scanf(“%f”和&tm)
  • scanf(“%.2f”和&a)
    scanf(“%f”和&a)
  • scanf(“%.2f”和&Vo)
    scanf(“%f”和&Vo)

如果您打算最多扫描N个字符,则必须使用
%Nf”
格式字符串(例如
%2f”
%3f”
),其中N是大于0的整数。

主字符串的可能副本非常旧,您应该升级!尝试
%f
而不是
%.2f
scanf
对交互式UI不起作用。我只需要使用
fgets
(或类似的东西)将数据放入一个字符串中,并使用
sscanf
(或只使用
atof
)分别解析每一行。在printf的末尾添加
\n
可以解决这个问题