我在编程这个 SUVAT 时做错了什么

What am i doing wrong with programming this SUVAT

本文关键字:错了 什么 SUVAT 编程      更新时间:2023-10-16

我正在为 A-Level 数学编写这个软件,我正在做力学部分,我正在做一个只有 UVA 数字的 suvat,我需要找到 S,我没有 T。所以我重新排列了 v^2=u^2+2as 以获得 (v^2-u^2)/2a=s,但我只是没有得到正确的答案!怎么了:L...

if(selection == "1") {
float s,u,v,a,t;
cout<<"What is the value of U (Initial Velocity)" << endl;
cin >> u;
cout<<"What is the value of V (Final Velocity)" << endl;
cin >> v;
cout<<"What is the value of A (Acceleration)" << endl;
cin >> a;
s = (pow(2,v) - pow(2,u))/ (2*a);
cout << "The Value of S is "<< s << ". Dont forget unit!";
i++;
}

....

你已经混合了参数来pow。你实际上正在做:

float vsq = pow(2, v); /* 2^v */
cout << vsq << endl;

根据pow(x,y)的定义:

返回xy 次方的值。

您在使用pow函数时出错。要表示 v^2,您需要使用 pow(v,2)

所以你的计算应该是:

s = (pow(v,2) - pow(u,2))/ (2*a);

注意 pow 函数参数的顺序!!

您可以简单地执行以下操作:

    cout<<"the value of s is"<< (pow(v,2) - pow(u,2))/ (2*a)<<".Dont forget unit!";
    // (v^2 - u^2) /2a