编程这款SUVAT我做错了什么

时间:2012-05-01 19:59:49

标签: c++ math

我正在为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++;
}

。 。 。

3 个答案:

答案 0 :(得分:3)

你已将论据混合到pow了。你实际上在做:

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

根据pow(x,y)

的定义
  

返回x的值y

答案 1 :(得分:1)

您使用pow功能时出错。 要表达v ^ 2,您需要使用pow(v,2)

所以你的计算应该是:

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

答案 2 :(得分:0)

注意pow功能参数的顺序!!

你可以这样做:

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